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