Correct basis usage in eco benefit template

I was showing the wrong count in the subhead, which should show the
total number of trees that match the filter. I included the number of
trees used in the calulation in an additional div at the bottom of the
eco benefits.

Closes #156
Move instance model to its own file

User defined fields need to reference instance, as well as the objects
in models. However, models needs to also reference UDFs. This prevents
an annoying circular reference
Add in scalar user defined fields

Scalar user defined fields can be added to any model by using a parent
class of: UDFModel (from treemap.udf).

UDFModel provides the `udf_scalar_values` field. This field allows udfs
defined using a `UserDefinedFieldDefinition` to be accessed using
standard python square-bracket syntax.

For example, if we have a `UserDefinedFieldDefinition` defined like:

```
datatype = [{'type': 'int'}]
name = 'Plot Age'
```

We can update the field using:

```
p = Plot.objects.get(pk=4)
old_age = p.udf_scalar_values['Plot Age']

p.udf_scalar_values['Plot Age'] = 4
p.save_with_user(some_user)
```

Scalar UDFs interop directly with the audit and authorizable system. In
the above example the user (`some_user`) must have `WRITE_DIRECTLY` or
`WRITE_WITH_AUDIT` privileges on 'Plot.Plot Age'.

Since this uses postgres's hstore feature we need to update our build
tools to install it:

```
bash> sudo apt-get install postgresql-contrib
psql> CREATE EXTENSION hstore;
```
Merge pull request #158 from jwalgran/fix/map-tree-counts

Correct basis usage in eco benefit template
Merge pull request #148 from ahinz/topic/add-scalar-udfs

Add in scalar user defined fields
Add migration for species (setting common name to non-nullable)

This model update was done in 05c32cc1, but a migration wasn't
created. This commit adds the requisite migration