ParamConverter to inject the current user

When creating testable controllers, it's often desirable to not use the `getUser` function in the base controller, as this relies on the whole service container. 

In this case, we might add a dependency on the `SecurityContext` to achieve the same result, replicating this code: 

    public function getUser()
    {
        if (!$this->container->has('security.context')) {
            throw new \LogicException('The SecurityBundle is not registered in your application.');
        }

        if (null === $token = $this->container->get('security.context')->getToken()) {
            return;
        }

        if (!is_object($user = $token->getUser())) {
            return;
        }

        return $user;
    }

This parameter converter streamlines the process and injects the current user into the controller method instead using the following format:

    /**
     * @ParamConverter(converter="current_user", name="parameterName")
     */
    public function viewInboxAction(User $currentUser)


This is actually intentional. If this converter is ignored because the SecurityBundle is not enabled, either the type-hinted `$user` object will not be injected, or it might be handled by another converter which wasn't the developer's intention.

This way forces a meaningful error message to the user, and tells them how to fix the problem.