Add asset_type as a required property for asset keys

There is an assumption to this `replace` function that the dev will never included both `'path'` and `'block_id'` in `kwargs` at the same time. Are we ok with that assumption, is the current behavior of overwriting `'block_id'` ok, or should we change the behavior?