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 logging statement level from warning to debug.
Fixes issue with FormTag where the response would not be written if a call to JspUtils.finish was made while processing the request.
Merge branch 'master' into feature/forms
Merge remote-tracking branch 'origin/master' into feature/forms
Merge remote-tracking branch 'origin/master' into feature/forms
Merge branch 'master' into feature/forms
Merge branch 'master' into feature/forms