Add a processor to merge other outputs into a single JRDataSource object.

The MergeDataSourceProcessor allows several datasource to be merged into one for use in a Jasper report detail section.

 An example use case is where we might have zero or many of tables and zero or many legends.  You can configure the template with a detail section that contains a subreport, the name of which is a field in the DataSources and the DataSources for the sub-template another field.  Then you can merge the legend and the tables into a single DataSources.  This way the report will nicely expand depending on if you have a legend and how many tables you have in your report.
Throw exception is template does not exist.
generalize ProcessorDependency from AbstractProcessor to Processor.

Allow adding customInputs, this is for the CustomDependencies implementations that will come in next commit
Add option for processors to define dependencies based on the processors in the current template.

This is require by MergeDataSourceProcessor because its required inputs depends on the configuration so they can't be statically defined like scalebar depending on createmap.
Added test for getTemplate() in configuration
Check that all the values and fields that are required in the main template are available in the values.

This is simply to make it simpler to debug errors.
Update tests to pass with more strict rules about parameters
Update MergeProcessor API so that SINGLE can map multiple values in the values object to columns in a row.
Change legend to take an optional template parameter and it will compile it and provide the path in the values.
Update examples to work after last 2 commits
Mark MergeDataSourceProcessor as @Beta because I am not sure it is needed, it might be a work around for my ignorance of Jasper Reports
Merge branch 'add-merge-datasource-processor' into development

Conflicts:
	core/src/main/java/org/mapfish/print/config/Configuration.java
	core/src/main/java/org/mapfish/print/output/AbstractJasperReportOutputFormat.java
	core/src/main/java/org/mapfish/print/processor/jasper/LegendProcessor.java
	core/src/test/java/org/mapfish/print/config/ConfigurationTest.java