Improve database API

This is a breaking change!
When a document is saved, the saved revision is returned, if all went
well, the document is returned from the database, not an option.
If something went wrong, then a `SohvaException` is raised.