'Find the metadata for a particular course asset.
Arguments:
asset_key (AssetKey): key containing original asset filename
Returns:
asset metadata (AssetMetadata) -or- None if not found'

@contract(asset_key='AssetKey')
def find_asset_metadata(self, asset_key, **kwargs):

    (course_assets, asset_idx) = self._find_course_asset(asset_key)
    if (asset_idx is None):
        return None
    mdata = AssetMetadata(asset_key, asset_key.path, **kwargs)
    all_assets = course_assets[asset_key.asset_type]
    mdata.from_storable(all_assets[asset_idx])
    return mdata
