Remove `Model` return from extend_declarative_base.

Typically, `extend*` methods don't return anything so adhere to that
convention.
Integrate decorated event methods with __events__ class attribute.

Introduce `Event` namedtuple for modeling events.

Convert __events__ to a dict with lists of `Event` objects and combine
with ones from decorated event functions.

Replace contents of __events__ with newly cast dict contain `Event`s.
Don't try to create test records if not defined.
Update event tests with changes from decoratored events implementation.
Add numerous tests for model.

- nested updates
- strict updates
- null relationship updates
- unmapped query property error
- autogenerated tablenames
- model repr
Minor update to readme with mention of model events.
Release v0.3.0.