[TASK] Add an overlay-capable template filename resolve method

This method should be used by all Providers when they are required to support overlays, including when resolving template files in a backend context.
Revert "[BUGFIX] Respect Tempplate Path and Filename when already set"

This reverts commit 110e358824cf1d8ee08befd8a1bfebce30310899.
[BUGFIX] Use correct Provider class for plugin registrations

Close: #548
[BUGFIX] When resolving template paths use ucfirst controller action
Merge pull request #575 from hmspl/ucfirst

[BUGFIX] When resolving template paths use ucfirst controller action
[TASK] Use ResolveUtility to process action in ExposedTemplateView
[TASK] Return raw templatePathAndFilename if set
[BUGFIX] Page detection fails in edge cases
Merge pull request #568 from cedricziel/dFix

[BUGFIX] Page detection fails in edge cases
[BUGFIX] Only render grid if there is at least one row
Merge pull request #576 from hmspl/gridToggle

[BUGFIX] Only render grid if there is at least one row
[TASK] Add RecordService class

To be implemented where record operations take place
[TASK] Implement RecordService in Backend scope classes
[TASK] Implement RecordService in Configuration scope classes
[TASK] Implement RecordService in Hooks scope classes
[TASK] Implement RecordService in Provider scope classes
[BUGFIX] Bad use of array_pop on already extracted record
[TASK] Improve rendering of nested areas based on viewport
[TASK] Finish tests for RecordService
[TASK] Improve test coverage of BackendConfigurationManager