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:
 * [x] 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).
 * [x] Clean up the white space.
 * [ ] Clean up the comments.

/cc @nmonterroso @Wikia/platform-team @garthwebb 
Pulling out `$iscur` may help with redundancy
```php
if ( $iscur ) {
	$url = $this->current->getUrl();
} else {
	$url = $wgEnableVignette ? $file->getUrl() : $this->current->getArchiveUrl( $img );
}
```