First (runnable) failing test for a class hierarchy.

Note the __table_args__ = tuple() statement on line 39, needed to
disable the creation of indexes on the child table. The plan is to
implement this directly in the mixin class, but this lets the tests
run in the first place.
Explicitly register the base tree class.
Set batch to False without having to do it in the subclass if
__mapper_args__ are being overwritte.
Use the base table to lookup columns.

This may need to be refined if someones mixes in tree support in a class
different from the base one. This should be pretty rare though.
Set the base mapper to not check for deleted rows.
Use correct table for operations on nodes.
Make test class parametrizable.
Factor out the base test case in its own module.
Reuse base test case for testing generalized/specialized models.
Compatibility with nose to run tests (I was running unittest).
Let's get back to 100% code coverage.
Merge pull request #27 from GaretJax/24-polymorphic

Support polymorphic tree models