Added an abstract class to handle storing versioned assets. This way the core API doesn't change, and doesn't require much plumbing on behalf of the user since the API will find the version itself.
Added new unit tests to AssetStore
Maybe remove this line?
It would be helpful to include a line explaining that the version will be part of the addressing scheme.
We should call this versioned_fs_asset_store for consistency
Removed VersionedAssetStore abstract class, and instead added a has_asset method to the base assetstore class.
Fixed nits. Re-added VersionedAssetStore abstract class so that users are not forced to implement has_asset method