Improve view rendering pipeline

- Add 'layout' to view context to allow it to be overridden during rendering.
- Use 'data' from context while rendering and unbox first level before passing it to the template layer.
Fix - Do not unregister the loader
Try to find the template file type using a '.*' pattern if no type is specified in the identifier.
Refactor template override handling

- Add module template locator
- Move view template overrides to [theme_path]/templates/views/...
- Move module template overrides to [theme_path]/templates/modules/...
View template identifiers should not include 'view'. View folder is added through specific locator.
Simplify editor configuration handling. Rename 'settings' to 'options' for consistency.
Refactor TemplateLocator

- Remove TemplateLocator::load() method.
- Add support to identifier locator for file type's. If no file type is specific the locator will try to find a file that matches /.../file.format.*
- Allow to pass locator config options when registering a locator
Refactor TemplateEngine

- Add caching support through TemplateEngineInterface::cache() and isCached() methods. Related config options 'cache', 'cache_path' and 'cache_reload'.
- Pass the template object as a reference to the template engine.
- Allow to pass engine config options when registering an engine.
- Rename TemplateEngineFactory::getEngines() to getFileTypes()
- Add TemplateEngineMarkdown
- Add TemplateEngineTwig
- Add TemplateFilterMarkdown to handle inline rendering of markdown blocks.
Rename TemplateAdapter to Template.
Docblocks
Code cleanup
Remove TemplateHelperInterface::setTemplate(). If no template if passed through the constructor lazy create a default template.
Remove TemplateFilterInterface::setTemplate(). If no template if passed through the constructor lazy create a default template.
Make 'model' object property private
Refactor Template package

- Add TemplateEngineInerface::isDebug() and setDebug() methods. If debug is enabled cache() method will throw exceptions if caching fails. If debug is disabled the method will return false. Debug config option can also be passed through the template engine factory.

- Remove TemplateInterface::getContent() and toString() methods. TemplateInterface::render() should always return a string.

- Rename TemplateInterface::load() to loadFile()
- Rename TemplateInterface::setContent() to loadString()

- Add TemplateEngineMustache to support mustache syntax

- Add TemplateExceptionSyntaxError. Throw syntax error exceptions when $this is used in templates.

- Implement partial support in mustach and twig engines and implement support for engine mixing through partials.

- Add TemplateLocatorIdentifier::getLayout() to returna layout identifier from a template url.

- Add Application\TemplateLocatorFile to handle file template overrides.
Refactor template state and helper parameter handling

- Add Template::setParameters() and getParameters() methods.
- Set template parameters through ViewTemplate::_fetchData() when rendering inside a view context
- Rename template state() function to parameters()
- Add 'layout' and 'total' parameters dynamically through ViewTemplate
- Remove ViewInterface::getState()
Fix typo
Also add 'view' into parameters.
Use default template. Always set parameters based on model state.
re #148 : Add TemplateHelperParameterizable.

If a helper class implements this interface, the template parameters will be merged into the config argument
passed into the helper methods.