Generalize assets to any block_type but using

AssetKey and the metadata store
PLAT-204

@cpennington @doctoryes plz review (hopefully I'll fix the 2 typos I just noticed before you get to it)
Yes - a separate story is the way to go. Handling filtering/searching on arbitrary fields shouldn't be that hard. But sorting based on arbitrary field combos would be harder.