Add push_when input with options for when to push new images
This MR implements #2 (closed) by replacing push_all_branches
with push_when
an input with options that allows a single input to define the rules of when to push out new images.
This can be extended to include when to trigger new downstream builds, see !5 (merged).