Add failing test for git clone with checkout

So I can choose what branch to checkout after running clone.
Add code to git_clone() to checkout a branch after clone
Add --checkout to valid arguments

And add test for it
Use checkout argument properly
Fix cookiecutter() extra argument to not be required

So other tests don't break
Use older subprocess command for python2.6 compatibility
Parse subprocess output so python 3 will accept it

subprocess produces binary strings in python 3, so we need to call
decode() on it before we can call split().  This still works with python
2.x
Add docstrings and docs
Partial checkin of integration test for --checkout arg.
Make test git branch run on Python 2 and 3
Conditionally run test when not on Travis.
Get the integration tests working locally with subprocess. Only run locally; not on Travis.
Use subprocess backport 'subprocess32' on Python 2.6.
Modify VCS test to use cookiecutter-pypackage, branch console-script.
Conditionally import subprocess backport. Use context manager-style popen.
Use subprocess32 backport in 2.7 as well, so that we can use popen as context mgr.
Fix subprocess32 and vcs imports in that last commit.
Regenerate auto-generated API docs.
Merge branch 'aptivate-git_branch'