Writing the github provider pt I

This replaces PR #7 

Whilst this is still a work in progress, I think it'd be beneficial to merge - providing there aren't any issues with what has been done so far.

Note that I've changed the description of what ``recalculate`` does (see ``github/views.py``).

I also have a question about how we want to handle security of API calls - I'll highlight the question in the PR.