Remove public non action methods in controllers

Controllers should only be called by kernel. Thus, the only public function inside of them should be the actions. This PR remove other public methods from controllers and use Reflection to still test them.

This also helps to fix some [SensioLabs Insight](https://insight.sensiolabs.com) issues on projects using this bundle when overriding some of these methods (*Public methods in controller classes should only be actions*).

It brings some backward compatibility breaks, but I can't see any practical case where someone would call a controller method directly?