Fetch studies from our local datastore, so we are not blocked by the 1MB filesize limit of the Github API
Some message
Implement locally writing to a study and committing the result
Revert "Some message"

This reverts commit b0d37a9cb3d03546b9e9a8b1fd7fd8baae989811, which
was only for locally testing git commits.
Implement branch_exists so we can decide whether or not to create a branch in write_study
Create the WIP branch if necessary and return the SHA of the latest commit from write_study()
Support the creation of new studies in write_study()
Convert GitData tests to a unittest suite
Use a setUp in our tests to define our test repo and improve our branch_exists test
Improve test assumptinos and add proper cleanup methods to GitData tests

Now these tests do not depend on already-existing branch names in our
test git repo and delete branches which are created in the process of
testing.
Add current_branch() with a test; fix bug where write_study() returned a SHA with a trailing newline
Merge branch 'master' into local

Conflicts:
	controllers/default.py
	requirements.txt
Make GitData.push() be more explicit about which branch to push
Get the basic commit-locally-and-push workflow operational

The first git commit + push of the "unalderated nexson" works, but the line:

    add_or_replace_annotation(rich_nexson, annotation)

causes a

    TypeError: 'NexSON' object is not subscriptable
Add GitData.remove_study() method to delete studies
Add tests for the remove_study() method and make repo location configurable
Fix the 'NexSON' object is not subscriptable bug
Start implementing study deletion
Merge branch 'master' into local
Require a Github token for authentication, but allow over-riding the name/email