Add View listener that changes template names & injects extra variables when templated.

No more double template copies for put & edit, post & new, delete & remove routes
Default templates when no specific template is created

Extra variables when using a template for injecting variables that should not be serialized.
Will be used for injecting authorization checker and a route generator for the default templates

Add test for EventListener\ViewResponseListener
[BC Break] Add RadRestControllerInterface::getRouteName(), which is public now
Always inject all variables in the default constructor of ControllerServiceController

This allows to call the slower parent::getRouteName() in a subclass of ControllerServiceController for unhandled cases
Add controller variables that are injected as extraData in the template

Add test for Twig\ControllerVariables
Add default templates, and twig extension to get object keys

Add test for Twig\ObjectExtension
Do not require a logger to be present for EventListener\ViewResponseListener
Add alternate dependency on sensio/framework-extra-bundle ~2.3

sensio/framework-extra-bundle ~3.0 requires symfony/symfony ~2.4, but this
bundle must support symfony/symfony ~2.3, which is supported by
sensio/framework-extra-bundle ~2.3
Both versions of framework-extra-bundle are tested by travisci
Revert "Do not require a logger to be present for EventListener\ViewResponseListener"

This reverts commit 1307277b14770b43b66b83429243ee1e002e9141.
Fix coding style issues and add phpdoc
Make logger optional for EventListener\ViewResponseListener
Add documentation about templates
Change documention rel RadRestControllerInterface::getRouteName()

 * getRouteName() must be public (a3f7c6f183ba9fdf6b327d9b5b3db17e2e3aa45f)
 * All possible route names must be handled without throwing exceptions.
   (ControllerVariables::route() in edd16c4d01eeb5120831e1a2249a80f1adb1631e)
Merge branch 'feature/auto-templates' into develop

* feature/auto-templates:
  Change documention rel RadRestControllerInterface::getRouteName()
  Add documentation about templates
  Make logger optional for EventListener\ViewResponseListener
  Fix coding style issues and add phpdoc
  Revert "Do not require a logger to be present for EventListener\ViewResponseListener"
  Add alternate dependency on sensio/framework-extra-bundle ~2.3
  Do not require a logger to be present for EventListener\ViewResponseListener
  Add default templates, and twig extension to get object keys
  Add controller variables that are injected as extraData in the template
  Always inject all variables in the default constructor of ControllerServiceController
  [BC Break] Add RadRestControllerInterface::getRouteName(), which is public now
  Add View listener that changes template names & injects extra variables when templated.
Merge branch 'develop' into feature/traits

* develop:
  Change documention rel RadRestControllerInterface::getRouteName()
  Add documentation about templates
  Make logger optional for EventListener\ViewResponseListener
  Fix coding style issues and add phpdoc
  Revert "Do not require a logger to be present for EventListener\ViewResponseListener"
  Add alternate dependency on sensio/framework-extra-bundle ~2.3
  Do not require a logger to be present for EventListener\ViewResponseListener
  Add default templates, and twig extension to get object keys
  Add controller variables that are injected as extraData in the template
  Always inject all variables in the default constructor of ControllerServiceController
  [BC Break] Add RadRestControllerInterface::getRouteName(), which is public now
  Add View listener that changes template names & injects extra variables when templated.
Lets traits use the custom View object (from da346e1b8ba0ecb6210ee0f9c895a369daee65ec)
Make DefaultRoutingTrait::getRouteName() public as per a3f7c6f183ba9fdf6b327d9b5b3db17e2e3aa45f
Add test for controller built from traits