[TASK] Remove incorrect use of Singleton interface
[TASK] Simplify ViewHelper inheritance and base class placement
[TASK] Clean up TCEMain hook subscriber

Note: this one MAY require fluidpages/fluidcontent Providers to begin saving records themselves - but this does make it easier to predict the behavior of this subscriber as well as the Providers.
[DOC] Document new strategy to use "mergeValues" behavior

Attribute "mergeValues" on flux:flexform is deprecated and has no counterpart in the FormComponent. The description has been changed to inform of a special record processing feature in flux: prefixing field names with the table name causes automatic overriding, e.g. "tt_content.header" as name of Flux field results in "header" in the record being overwritten with the Flux field value.
[TASK] Move flexform-to-record value merging to bottom class

The feature is now completely generic: merging values can happen in any table. For example, a Provider for table/column "fe_users.username" will cause the record's column(s) to be overwritten with flexform data if flexform fields are prefixed with "fe_users." - which means a flux field name of "fe_users.username" will write the value of the field to the "username" column in the record when the data is saved.
[TASK] Refactor location of ExposedTemplateView class
[TASK] Cleanup in ProviderTest and AbstractProviderTest
[TASK] Refactor recursive array operations to Utility class
[TASK] Refactor walking of FlexForm nodes to Utility and cover with tests