Cleanup invalidation annotation

To prepare for #117 i wrote some more functional tests. One big wtf though.

Also split the tag specific controller into a separate controller for better readability.

And make InvalidateRoute explicit about expression.
I don’t think the `TagSubscriber` will: the [constructor](https://github.com/FriendsOfSymfony/FOSHttpCacheBundle/blob/master/EventListener/TagSubscriber.php#L50) will fail without ExpressionLanguage.