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.