Use python code to do tasks, where possible instead of shell commands.

Also, keep the old history of the deploy branch instead of creating an
orphan branch each time.
Change github-deploy to github_deploy everywhere.
Reuse ask_yesno code from utils.