initial attributes
Change processor name of datasource processor
Added a DataSource attribute which can be used to change any set of processors and the associated attribute data into a datasource.

This can be used to replace tablelist for example.  We can have a list of tables or maps or legends or any other elements.
Remove TableList updated values test to test datasource
updated core tests that use DataSourceProcessor to use DataSourceAttribute.

One of the changes required was to change CreateMapPages to provide DatasourceAttribute as output instead of Iterable<Values>
Updated examples to use DataSourceProcessor or used to use tableList
Add spring security dependencies and configuration.
Add example with security and API tests to verify that security works from "outside"
modify pdf export so we can customize it.  For example allow exporting maps as layers.
Moved the setting of the SUBREPORT_DIR to the values object because that is where other values like template are set.
Added configuration options for the metadata that goes into the PDF as well as other PDF parameters
added new !stringarray attribute type
Added Processor that can update the PDFConfig object from values in the values object.

Added an example containing a !updatePDFConfig processor and pdfConfig configuration elements.

Updated verboseExample to have a pdfConfig configuration.
Merge branch 'replace-tablelist-with-DataSourceProcessor' into for-basel

Conflicts:
	core/src/main/java/org/mapfish/print/output/Values.java
	core/src/test/java/org/mapfish/print/output/ValuesTest.java
Merge branch 'security' into for-basel
Merge branch 'add-pdf-author' into for-basel

Conflicts:
	core/src/main/java/org/mapfish/print/config/Configuration.java
	core/src/main/java/org/mapfish/print/config/Template.java
	core/src/main/java/org/mapfish/print/output/Values.java
	core/src/main/resources/mapfish-spring-attributes.xml
	core/src/test/java/org/mapfish/print/processor/map/CreateMapProcessorFixedScaleCenterOsmDpiTest.java
	core/src/test/java/org/mapfish/print/processor/map/CreateNorthArrowProcessorSvgTest.java
	core/src/test/java/org/mapfish/print/processor/map/CreateOverviewMapProcessorStyleTest.java
Horrible hack to make GeoJSON parsing more reliable.

Geotools json parser has a problem in that it builds the feature type based on first feature in collection but GeoJSON specification says that not all features need the same properties (attributes), so in the case where the later features have more or different properties from the first feature, the parsing will fail.

This change parses GeoJSON to create a feature type by processing all properties in the collection first, then as a second pass using the geotools parser with the created feature type.  In this case the parsing is robust.

The main problem is that this solution uses too much memory.  We parse the geojson string into a JSONObject object structure which takes a lot of memory for large GeoJSON documents.  It would be better to use a streaming parser to create the feature type, instead of the JSONObject parsing.  This would take the same amount of time but would not use so much memory.

For performance it would be better to implement a changeable FeatureType class and create a custom parser that adds attributes to the feature type as needed.  This could be tricky though so first we should do the streaming parsing for the feature type creation.
add dynamic columns to table processor

styles are hardcoded.  will change that later
Added configuration parameter when performing validation of configuration.
Modify dynamic table generation so that it uses a template file for style and layout.