Merge pull request #1 from erikorbons/master

Split web project
Split the model class into separate modules.
Added LinkedObject class.
Added traits class to domain.
Merge pull request #2 from IDgis/model-traits

Added traits class to domain.
LayerTypes and ServiceTypes are wrapped in Traits objects in the
registry.
Traits for ServiceTypes and LayerTypes can be configured in the
application context.
Merge pull request #3 from IDgis/layer-service-traits

Layer service traits
Merge remote-tracking branch 'IDgis/master' into client-mapmodel
Implemented linkedCopy: copy-on-write copies of stateful objects and
arrays that keep a link to the original.
Moved registry to Geoide core project.
Created stateful map model that can be populated from a JSON object.
ViewerBase uses new map model.
Viewer mutates the layer state through the new map model. Changes in the
map model trigger an update of the map.
Merge pull request #4 from IDgis/client-mapmodel

Client mapmodel