Fixed Backward Compatibility when using Controller::setupLayout() introduced in #2624

A few note:

* Fixed multiple tabs vs spaces indentation for the ocd, to view except whitespace changes see <https://github.com/laravel/framework/pull/2629/files?w=1>.
* Re-add `Illuminate\Routing\Controller::callAction()` to 4.1, except it doesn't handle filters (now managed from the new `ControllerDispatcher`), this is safer since the method exist in 4.0.
* This is slightly less breaking than introducing `getLayout` method. E.g: I could have `GET foo/layout` and goes to `FooController@getLayout`.
* Add supporting test cases.

Feel free to come out with alternative implementation without merging this PR :+1:, No drama needed. :smile: