Proper cache validation for resource assets

Implements proper cache validation for resource assets, based on last modified date of assembly. I have updated it to use BundleCollection.TryGetAssetByPath to get the asset, then get the assembly from there.

-------------------
Old information from original commit (c7ea979):
Not sure if this is the best approach; the IAssetCacheValidator doesn't know which assembly the resource belongs to, so it creates a dictionary of resource name to assembly name and uses that to look up the correct assembly. This isn't foolproof and may not work properly in every scenario.