qe: Fix nested objects with `$type` key in JSON protocol (#4670)
* qe: Fix nested objects with `$type` key in JSON protocol
Introduce another special value to JSON protocol, `"$type": "Raw"`.
When encountered, no other nested `$type` keys would be interpreted as
special and will be written to DB as is. Main usecase is JSON column
values with user-provided `$type` keys.
This is an alternative to #4668, that might look cleaner on the engine
side.
Part of the fix for prisma/prisma#21454, will require client adjustments
as well.
* Fix & move the test