Added caching layer

To improve performance, the `ApiDoc` metadata is being cached and automatically invalidated when any of the routing files and related controllers are updated.

Added a few tests for this. Please let me know if they are insufficient and how I can improve them.
What's the idea? Would you rather have a `cache_file` parameter (i.e. `"%kernel.cache_dir%/api-doc.cache"`) instead?