Add scope_model method to Instance

Each instance can filter down any model with an instance field down
to records from that instance. The recommended usage is to apply
this method on the instance that is hanging off of a request.

If an model doesn't have an instance field, Django would raise a
FieldError, just like when using the ORM.
Merge pull request #15 from steventlamb/topic/scope_model_to_instance

Add scope_model method to Instance
Plot is the basic unit of viewing, not trees
Provide a hash method based on audit fields

Since each audit record effectively provides a revision id, we can
simply use that as a simple hasher
Provide a more complete hash for plots

By default the audit hash does not provide for foreign keys that
reference the given object. For instance if we had the following:

Tree(id, plot_id)
Plot(id)

Updating the tree's plot with "tree.plot = someoplot" would update the
hash for the tree but not the plot record.

Since we want the plot's hash to change whenever a tree is updated at
all we use the tree's hashes as well as the plots.
Refactor templates

Maps js was being pulled into all of the pages, even when it wasn't needed.
Merge pull request #17 from ahinz/topic/etags

Add etags to basic models
wip. initial commit of tests.
WIP. NOT FINISHED. initial commit of authorizable module.
wip. add role and fieldperm models
wip. had to do migrations in chunks to avoid data circular reference issue
wip. add default_role and migration
wip. fixup old tests to accomodate new models.
wip. fixup get_instance_methods and update MY tests.
wip. stashinge verything to work on something else.
WIP. Fixed all tests on auditable, refactor worked. about to start working on Authorizable.
Wip. Everything works. Need to cleanup, then think about add and delete.