Completely re-reading the controller chapter

| Q   | A
| --- | ---
| Doc fix? | yes
| New docs? | no
| Applies to | 2.3+
| Fixed ticket | n/a

Hi guys!

This follows #4427, but only for the controller chapter (I will open separate PR's for `from_flat_php_to_symfony2`, `routing`, and `templating`).

This is more than just updating for the best practices. This is about face-lifting these important chapters after several years of us as a community realizing what's more important and what's less important. More notes:

- I removed some information about using the `defaults` to pass additional information to your controller from this chapter. This is too early and we have this now: http://symfony.com/doc/current/cookbook/routing/extra_information.html

- I removed `ContainerAware` information. This is not the right spot... and maybe nothing is. I don't see much use-case for this - it seems like you'd either extend the base Controller or register your controller as a service.

- I kind of want to remove or move the forwarding stuff. I can't find a real use-case for doing a forward from one controller to another. It adds a lot of overhead and I don't see any situation for it.

Thanks!
If you don't extend the base class, then you're either registering your controller as a service or you're implementing `ContainerAwareInterface` yourself. There is a third case where you don't do either, but then you don't have access to any services, so I don't think that's realistic. I also don't think that many people implement `ContainerAwareInterface` instead of extending the base controller.

So I was thinking that there are 2 99% use-cases: extending the base controller and registering your controller as a service. That's why I used this wording. With all of this, would you still like to have some part of this changed/emphasized better? Let me know - I started to re-phrase it, but then realized I wanted a bit more input :).