Limit photo selection to images. Fixes #296.

This generally makes the file picker only accept image types. The
backend does additional checks since this cannot be relied upon.
Add active status to "add tree" navbar item.

Fixes #735.
Add backend support for static pages

This is designed to allow map deployers to manually add static
pages. This commit is intended to facilitate adding a front end UI later
Misc diameter calculator updates (fixes #767, #900, #573)

Respect configured "significant digits" in displayed diameter/circumference values:
* Store actual diameter or circumference value in "data-value" attribute on input element
* Prepare display values using "data-digits" from diameter input element
* All values now computed client-side, simplifying server code (rename reset() to init() and call it from constructor)

Also:
* We now round rather than truncating when displaying all floating-point field values
* Allow entering multiple trunks in "Add Tree" mode
* Show units in diameter and circumference input boxes
* Change "Total trunk diameter" field label to "Trunk diameter"
* Change "Total diameter" message label to "Combined diameter"
* "Combined diameter" message now uses no vertical space when hidden
Fixed broken trans tag and changed text, Fixes #926
Fix Indentation
Merge pull request #927 from RickMohr/diameter-calculator-updates

Misc diameter calculator updates (fixes #767, fixes #900, fixes #573)
Merge pull request #932 from maurizi/fixTypo

Fix typo on 404 page
Merge pull request #921 from ahinz/topic/add-backend-static-page-support

Add backend support for static pages
Fix broken test

* "diameter" tag no longer exists
* Add safety code so PyCharm can run our tests
Merge branch 'master' of https://github.com/azavea/OTM2
Add fabric support for code coverage

When running either UI or regular tests specify:

```
coverage=True
```

And a text coverage report will be printed to stdout and a tar called
"coverage.tar.gz" will be downloaded that contains html report.
Migrate ITreeRegion table to have one row per region

Before the data migration, each i-Tree region had many rows in the ITreeRegion table. Each row's multipolygon contained one polygon.
After the data migration, each i-Tree region has one row in the ITreeRegion table. Each row's multipolygon contains many polygons.

Also:
* We now declare that i-Tree region codes must be unique in the ITreeRegion table
* For me, running the data migration causes some "Message too long" errors to be printed, apparently harmless.
* Timing eco benefits computation on 28000 trees in a Philly-area treemap, this change made no appreciable difference.
Add name to user url
Move plot views together in file
Factor out scoped plot retrieval or 404
Add translation
Audit provide details when instance not found

This function requires instance to be set in order to avoid a runtime exception, but previously did not provide a meaningful exception. I ran into this while implementing delete_with_user on Plot and Tree.
Don't reuse variable names
Add support for deleting plots and trees on server

addresses #882 on github.