Fix unassigned instance in OTM1 audit migrations

model_hasattr was not returning a value for the success case where getattr doesn't raise.
Fix audit migrations

Update the object_id to the newly created OTM2 ids for all audits.

For 'create' audits, which are really 'pk' changes, update the 'pk' value to the correct OTM2 id.
Add mgmt command for basic otm1 migration checks
Merge branch 'new-ui'
Merge pull request #1193 from steventlamb/bug/fix_audit_migrator_pks

Bug/fix audit migrator pks
Remove empty values from clickedIdStream

fixes #1098 on github

clickedIdStream represents the id of other features clicked from the mapFeature page map, allowing you to jump to that other feature's page. However, all clicks to the map were producing values in the stream, even ones that were not tied to an actual feature.

This fixes #1098 on github because the clicking of another feature tries to jump to a different page, which is blocked/prompted by the statePrompter during edit mode.
Switch from PIL to Pillow

Pillow is an actively maintained fork of PIL, can support more image
formats, and has better documentation.
Add backend and templates for advanced search display filters
Fix ecobenefits searches for queries containing string parameters
Merge pull request #1198 from steventlamb/bug/1098_move_plot_confirmation

Remove empty values from clickedIdStream
Add support for display filters to search.js

 - Switched to ids in buildElems, since all search elements have ids now
   - This does require slightly changing things, to avoid breaking MIN/MAX
 - Added more tests
Merge pull request #1196 from maurizi/advanced-search-display-filters

Advanced search display filters
Add advanced search filter for trees missing photos
Merge pull request #1202 from OpenTreeMap/release

Release -> Master
Keep linkData in scope long enough to use it

fixes #1170 on github.

linkData was no longer in scope, so the template value {{ linkData.contact }} was always empty.
Cleanup template branching
Merge pull request #1203 from steventlamb/bug/1170_contact_email

Bug/1170 contact email
Rotate images based on their EXIF data when saving them.

During saving, Pillow will drop the EXIF data, so we don't need to
worry about clients rotating the images *again* incorrectly
Merge pull request #1199 from maurizi/rotate-image-based-on-exif

Rotate image based on exif orientation
Merge pull request #1195 from maurizi/advanced-search-missing-photos

Advanced search missing photos