Fixes in the course of using library in practice

- Most recent register_uri should win.
- Test for responses should check None as '' is legitimate text.
- More tests, partially coverage driven.
Change callback format

Pass the context object to the callback so that it can be modified.
I think this is more future proof as things can be added later to the
context and it means that the return of the callback is only the data
that is to be used.