Add Github auth

I have decided to use Github as battlestations form of authentication
for the following reasons:
  - All developers should have an account
  - We can filter out anyone who is not part of a given organisation
  - We can then use teams inside of an organisation as roles for a user

When Github returns us a code through the redirect url we use it to
generate a User struct being making calls to the Github API. We retrieve
the user's details, whether they are a member of the target organisation
and if they are their list of teams. If they are not a member of the
target organsiation then an error is raised and the attempt to build a
User struct is aborted.

In order to retrieve the list of teams a user is a part of I have had to
drop down to making the http request manually, this is because I could
not find a function in the go-github lib that would do this form me. It
encodes to the same go-github Team type so all should be lovely.
Exit with an error if can't read config

If we have had an error it is appropriate to exit with a non-zero status
code.
Integrate the api and Github auth

I have added the routes required to do the Github auth dance. It is
using the gorilla/sessions session store to hold the User structs for
each session. This is currently using the file store but should probably
move to Redis or something later.

I have created a wrapping function to retrieve the User struct from the
session store and if it exists pass through, otherwise redirect to
/authorize to start authentication.

The /authorized endpoint attempts to get a User struct, if it succeeds
then it will redirect to / after storing the struct in a session var, if
not then it will print out the error message.

Battlestations now requires two keys to auth and encrypt the cookies
used by the session store. The path to these keys should be passed
through in the config JSON.
Add make task to generate keys

In order to get started it would be great if there was a make task to
generate the two keys that are requried to run battlestations.
Update README.md with a 'Getting started' section