Implement asset metadata storage in Split - per-asset functionality

PLAT-40

@doctoryes @cpennington please review
So what *is* user_id? Should there be a contract for it?