Use a flag to determine whether to lint files in grunt watch
Tweak moderation table header width

63px worked on my dev deploy, but the contents of the btn-group still
appeared stacked on the release deployment until I bumpped it to 64px.
Fix photo review accept/reject and pagination JS.

Design changes broke JS selectors.  I fixed the pagination selectors by
removing 'ul' from the selector, and I added data attributes to the
elements used by accept/reject to hopefully make them less brittle.

Fixes #1639, Fixes #1640
Add back accidentally removed lint to comment poster

Fixes #1605
Merge pull request #1643 from maurizi/fix-photo-review

Fix photo review accept/reject and pagination JS.
Merge pull request #1645 from maurizi/comment-moderation-fix-user-link

Add back accidentally removed lint to comment poster
Pull comments JS out of mapFeature.js and add AJAX posting of comments

In order to avoiding having to changing core parts of the Django comments
app or bringing in another commenting library like django-fluent-comments,
this gets the *entire* plot detail page when adding a comment, and then
strips out the comment section from it and replaces that HTML content.
Merge pull request #1649 from maurizi/ajax-comments

Add AJAX posting of comments
Show the instance boundaries during the add process

During the "enable placing" phase of adding a map feature, we show the
instance boundaries are stop the marker from tracking the mouse once
outside the boundaries.

This gives a good visual indication of where to place things in the most
likely time for a plot to be added outside the instance boundaries
Add validation to prevent adding features outside the instance

 - The add tree process will return to the first step that had an error
 - For convenience, geom errors are returned as "mapFeature.geom"
 - On the plot detail, geom errors are at the top of the form

Fixes #1625
Merge pull request #1638 from maurizi/prevent-adding-outside-bounds

Prevent adding map features outside instance bounds
Make settings.py into a package

The reason for doing this is that it is problematic to have a single
settings.py that is responsible for introduce new settings, handling
overrides, and initializing code paths that use settings.

The problem that turned up is that settings that are *introduced* lower in
the lexical layout than the statements for responsible *overriding*
settings are left incapable of overrides. Any statement placed in the
canonical default settings should be subject to overrides, unless
explicitly setup to not allow them. We accumulated a bunch of settings
that a developer may wish to override during development but cannot
easily do so.
Merge pull request #1654 from steventlamb/topic/make_settings_package

Make settings.py into a package
Fix unit tests broken by 1e78a5df7
Merge pull request #1656 from maurizi/fix-unit-tests

Fix unit tests broken by 1e78a5df7
Convert UDF collection values to YYYY-MM-DD when saving.

Fixes #1657
Merge pull request #1659 from maurizi/fix-udf-collection-date-saving

Convert UDF collection values to YYYY-MM-DD when saving.
Merge pull request #1661 from OpenTreeMap/release

Merge Release into master
Merge pull request #1633 from maurizi/no-lint-watch-option

Use a flag to determine whether to lint files in grunt watch
Convert UDF collection values to YYYY-MM-DD when saving.

Fixes #1657