'Internal; saves the info for a particular course\'s asset.
Arguments:
asset_metadata_list (list(AssetMetadata)): list of data about several course assets
user_id (int|long): user ID saving the asset metadata
import_only (bool): True if edited_on/by data should remain unchanged.'

@contract(asset_metadata_list='list(AssetMetadata)', user_id='int|long')
def _save_asset_metadata_list(self, asset_metadata_list, user_id, import_only):

    course_key = asset_metadata_list[0].asset_id.course_key
    course_assets = self._find_course_assets(course_key)
    assets_by_type = self._save_assets_by_type(course_key, asset_metadata_list, course_assets, user_id, import_only)
    updates_by_type = {}
    for (asset_type, assets) in assets_by_type.iteritems():
        updates_by_type[self._make_mongo_asset_key(asset_type)] = assets.as_list()
    self.asset_collection.update({'_id': course_assets.doc_id}, {'$set': updates_by_type})
    return True
