Add --no-push to catkin_prepare_release

The `catkin_prepare_release` command is useful to format the changelogs and create the tags, but will
fail if no remote repository is configured for the current branch.

Since I could not see a reaason for this limitation, I propose the` --no-push` option, that will do everything locally and not push anything.

This was done for my own convenience. I submit it as a pull request just in case it would be useful to someone else.
Well if the current branch is not tracking any remote, which happens to be my use case, then I don't see what commands to generate. What I could do is try to run `push_changes(..., dry_run=True)`, silently catch the exception if there is one and display the commands otherwise.