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.
I'd like to not fix the filename in this class, but `%kernel.cache_dir%/api-doc.cache` can be injected in this class. It is constructed in the Extension class right?