Adds version 2 of the core form classes.

FormProcessor2 - Renames interface method to process() which now takes both a request and response, and can optionally return an Object.
FormInputProcessor2 - Adds State to the display() method signature. Fixes several small issues with the default implementations. Updates FormWriter2 and AbstractFormInputProcessor2 accordingly.
Deprecates the old form classes.
Changes QueryDebugServlet to use the new FormWriter2.
Improves FormTag to allow writing to the response.
Adds InputTag for displaying and processing form inputs for State fields using a FormWriter2.
Adds AbstractForm for subclassing that simplifies the use of FormTag and InputTag together, and simulates a typical form display and submission workflow.
Renames getProcessor() to getProcessorInstance() so that it doesn't have the same name as the FormTag setter method setProcessor(String) which causes weird issues at runtime.
Merges FormWriter2 into FormWriter so there is only a single class that supports both interfaces - FormInputProcessor and FormInputProcessor2.
Changes FormFilter to use JspUtils.isFinished to determine if processing should continue.
Uses reflection to detect if the deprecated write/updateField methods are being overridden by a FormWriter subclass, and calls the deprecated version of the method if that's the case.
Removes PageContextAwareResponse and just creates an anonymous class instead since it's only used once.
Adds javadocs to AbstractFormInputProcessor.
Merge remote-tracking branch 'origin/master' into feature/forms
Changes all internal methods to use symbolId instead of symbol
Merge branch 'master' into feature/metric
Changes index for Metric table to possibly avoid deadlocks
Adds incrementDimensionEventually to combine as many increments as possible into one database transaction
Bugfix - private method should be public.
Fixes incorrect javadoc comment
Merge branch 'master' into feature/metric