Fixes #26, #27, and #28

* Fixes requirements in setup.py to follow new guidelines
* Fixes documentation to include package-level docs
* Fixes data query bug that could return fewer results using pattern matching
Fixes issue #30
Finish fixing #30 :/
Added runtime-configured null session support
Fixed docs, updated changelog.
added RestrictError, a test for it, and usage in Model.delete() for it.