Add tox support.
handlers: Correct Python 3 support.

JSON body handling was not decoding the bytes object.
requirements/test: Sort file.
compat: Introduce tests/helpers/compat.py.

This shim module isolates the rest of the tests from differences
between versions such as mock vs. unittest.mock and back ports
like unittest2.
setup.py: Add python 2.6 support.
Makefile: Switch default to python 3.3.
tox.ini: Add other python versions.
setup: Replace test command with tox.
Merge branch 'feature/tox-and-python3' into develop
TornadoTestCase: Rename `get` to `http_get`.
TornadoTestCase: Rename `post` to `http_post`.
TornadoTestCase: Rename `delete` to `http_delete`.
unit.event_tests: Add actions to tests.
tests: Remove assertDictContainsSubset usage.
Refactor handler discovery out of main.

Each model module is responsible for exporting a `get_handlers`
function that returns a list of (URL pattern, handler) tuples.
This reduces the coupling between the main application and the
model implementations.
Refactor action list management.

The action lists were duplicated all over the place.  This commit
removes some of the duplication by introducing a new module-level
function named `get_application_actions` to the model modules.  This
function returns a list of action dicts.  Since it returns a list, the
`*actions` parameter to `serialize_model_instance` has been converted
to a keyword parameter so that we can avoid splatting lists everywhere.
Improve action list unit testing.
tests: PEP8 cleanup.

Apparently PEP8 does not allow block comments with three leading
hashes (e.g., ### ModelInstance.as_dictionary).
tests.acceptance: Add EntityActionMixin.

This removes a coupling between the tests and the HTTP actions
associated with specific actions.
Add pragma no covers where appropriate.