GEOT-4945: MapContent#addLayers throws NullPointerException if MapLayerTable enabled

Since the Layer MapLayerListEvent#getElement return is null when multiple
layers are added at once (with MapContent#addLayers) we instead rely on the
layer indices in the event to determine the layers that are to be added to
the MapLayerTable.
Fix to Csv2Shape.java for compatability with OS X UI (Bug in OS X L&F)
Fix to CRSLab.java to allow for different file names
Minor fixes to Feature, CRS, Query, and Image tutorials
Changed to use :append: rather than :lines: for close brace
Updated tutorial code fixes
Using a custom namespace support class to allow for delegation.
Cleaned up gt-property-ng implementation to better match ContentDataStore tutorial. Using dir to find property files as in previous implementation. Updated test cases. Eliminated most warnings.
Updated headers, cleaned up warnings and whitespace
Fixed nullPointerException thrown when AttributeDescriptor is null
Changed get___Internal methods to handle filters properly, and added test cases
Added test case for fix
Updated requirements for GeoTools 10.x
Merge pull request #648 from pborissow/patch-1

Updated requirements for GeoTools 10.x
Merge pull request #647 from tbarsballe/mergefix

Fixed nullPointerException thrown when AttributeDescriptor is null
[GEOT-4960] Pregeneralized module fails to use its extra geometries when the wrapped store supports simplify
GEOT-4961: JDBCDataStore aggregate queries delegate to LimitingVisitor, if present, checks of limit usage
Merge pull request #628 from tbarsballe/tutorial

Geotools Tutorial code fixes
Merge pull request #633 from tbarsballe/tutdocs

Minor fixes to Feature, CRS, Query, and Image tutorials
Merge pull request #646 from tbarsballe/gt-property-ng-s

gt-property-ng module update