[WIP] Add type on annotation and handle it

PR for https://github.com/FriendsOfSymfony/FOSHttpCacheBundle/issues/160

I have to replace UrlGenerator with Router because I need to know if a route has parameters, and then replace all token with a wildcard.

I also change method scope to protected. It make possible to fit for special need.
not sure where the previous comments went, but we need to find a solution for this. i don't know what we can do - the unfortunate thing is that we can't find annotations at cache:warmup time or we could just precompile all this and not care much about performance.