Use vignette to generate thumbnails in the File abstraction

https://wikia-inc.atlassian.net/browse/PLATFORM-474

Replace thumbnail generation with vignette in the core `File` abstraction. 

Handling this for revisions is more complicated than expected because the timestamp used to store the archive `File` on disk is not the timestamp stored in the oi_timestamp column in the oldimage table. The timestamp used on disk is stored in the file name as `<timestamp>!<filename>`. To get the timestamp as used on disk we have to extract it from the archive file name.

This should do more than replace the thumbnails with vignette on the `File:` page. It should work as a replacement wherever the `File` abstraction is used. As a result it will also be put behind a feature flag so we can roll it out slowly.

Summary:
  * add getArchiveTimestamp to the file abstraction so we can extract the timestamp from the file name.
  * add isOld to the FileInterface to distinguish between archive images and current images
  * adjust the UrlGenerator to be aware of old vs not image so that the timestamp can be generated properly
  * add tests for the new behavior in UrlGenerator

TODO:
 * [ ] Test to make sure you can't set the revision on an archived file.
 * [x] Fix the anchor tags on the `File:` page to link to the original in vignette (whatever is generating the anchor tag is using something other than the file abstraction to generate the url).
 * [ ] Clean up the white space.
 * [ ] Clean up the comments.

/cc @nmonterroso @Wikia/platform-team @garthwebb 
Are these two interchangeable? Even though ```UrlGenerator->__toString()``` generates a string, so it behaves properly when printed in a template, I wonder if there's something down the line that expects this to be a string and operates on it assuming so. Does ```__toString()``` magic work in those cases?