Linting fixes
Adds a BaseDocument model to extract metadata fields and members
Moves created, deleted, updated fields to BaseDocument
Adds serialization fallback fix for JSON payload
Removes default encoding kwarg for tornado.escape.url_unescape
Adds assertions for User.verify and refactors messages
Adds overridden BaseDocument.update method to reload objects
Merge pull request #87 from techiev2/refactor

Refactoring database, exception and assertion flows