Started serious restructuring and change to API.
Lots more refactoring.
Updated readme slightly.
Get tests passing.
Some put tests passing.
More tests working.
Put tests passing.
Removed dead method.