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