Allow pushing to a specific version

@jeregrine @stoodder 

Allow user to specify a version string (`1.0.0`) when deploying, if none is provided just default to the most recently created version.

If they provide a version string that is invalid, show them an error message. This version string is compared against `version.name`
CODE Duplication