Add in REST interface to access trees in a given polygon

Added new url endpoint: /search/geo with paramters:
  polygon   - String with format: x1 y1,x2 y2,x3 y3,...,x1 y1

Example Output:
[{"species": "Acer", "dbh": 20.0, "id": 1, "itree_code": "BDM OTHER"},
 {"species": "Acer", "dbh": 22.0, "id": 3, "itree_code": "BDM OTHER"}]

Additional fields may be made public via this API in the future
Added updated map icons for Philadelphia
Added initial Plot object
Updated related_name on Plot model to not clash with existing updated_by
Renamed the width, length, and type field on the Plot model

The field defininitions were originally copied from the Tree model and
included a now redundant 'plot_' prefix.
Added plot as a required field on the Tree model.

Part of separating the Tree from its Plot. All Trees must now have a
Plot. The Plot will contain the geo information rather than the Tree
itself.
Refactored the pending models.

Part of separating a tree from its plot. Carissa and I converted the
old TreePending and TreeGeoPending models into a parent Pending
model with TreePending and PlotPending models inheriting from
Pending.
Started a database upgrade SQL script to move from 1.0 to 1.1

The pending system requires non-trivial data manipulation to go along
with the model refactoring so Carissa and I chose to do the work in a
raw SQL script rather than a Django management task.
Added .idea to the git ignore file to exclude PyCharm project data
Implemented pending table manipulation in the 1.0 to 1.1 SQL script
Include JSONP callback and properly return trees without species info
Merge branch 'v1.1' of github.com:azavea/OpenTreeMap into v1.1
Updated the 1.0 to 1.1 database script to correctly split pends

I wrapped the whole script in a transaction so that a failure in the
middle will not leave the DB in an inconsistant state. As I result I
needed to remove the VACUUM call and disable and reenable triggers.

I mistakenly omitted table ownership changes in the previous version of
the script.

I had mistakenly set the treemap_plotpending.geometry column as required.
A plotpending can contain a non-geo field. This required I make a
complementary change to the PlotPending model.

I made lots of syntax errors in the fill_treemap_pending function that
are corrected.
Updated the view_pends view to fetch both tree pends and plot pends

I could not get just Pending objects, because it is not possible to
get the child attributes from the parent model.
Whitespace fix
Added the admin_pending.html template

Mistakenly deleted during the template branching process.
Updated the admin_pending template to support new pending models

There are now two types of 'pends' so Carissa and I needed to update
the view that lists them. The cleanest way to make this change was to
add some helper methods to the Plot model.
Merge branch 'v1.1' of github.com:azavea/OpenTreeMap into v1.1
Fixed fields in the treemap_plot_audit table in the v1.0 to v1.1 SQL script

The field names in the auit table must match the field names in the main
table.
Start converting the application to use the new Plot model.

Moving the geometry field to the Plot has far reaching implications.
In this commit I have made the updates required to get the main map page
to load without error, to have the tree detail and edit pages load without
errors and to show a detail popup without errors when a tree is clicked.

Many features are still broken.