Tests and basic documentation

@davisagli We have added a basic README (based on some of your previous explanations of the package), some docstrings on key methods and a couple of tests.
Sorry David, I've just seen the issue here - that we've moved the default set() outside of the 'if' block.

This was not intentional - we'll resolve it.