Initial commit for github-deploy command.

We build and push to gh-pages branch, as of now.
Allow branches for deployment to be configured.
Minor Flake8 fix.

Fixes #1208. [skip ci]
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.
make ask and ask_yesno more sensible

Signed-off-by: Chris “Kwpolska” Warrick <kwpolska@gmail.com>
flake8

Signed-off-by: Chris “Kwpolska” Warrick <kwpolska@gmail.com>
Merge branch 'master' into github-deploy
Merge branch 'master' into github-deploy
Use consistent command format when using subprocess.
Don't hard code origin as the remote name.
Use a force push, to allow deploying from multiple machines.

This could probably become a configurable option.
Prompt the user, only if required.
Add some docs.
Merge branch 'master' into github-deploy
Add docs and update changelog.

[skip ci]
Merge pull request #1208 from getnikola/github-deploy

Make github pages deploy seamless