Initial commit

See the README for examples of the current functionality.

I'm not 100% happy with the code. Particularly:

- names of things
- global variables and use of `log.Fatalln` everywhere - not sure that passing variables around is better though?
- finding missing keys - not sure it's worth importing a library for sets though?

Suggestions welcome. We might want to move this to gds-operations when we're happy with it.