Update `parse`s at model level, simpler `get`

Assuming simple response data at the model level isn't as reliable as I initially thought. This patch would fix #2095 (check the added test) as well as address some recent `get` complications #2247 #2189 #2091 etc by simplifying it to only accept a single `id`, `cid`, or `model` (no raw data).

The downside is that there will be an initialization for each model, regardless of whether it is going to be added or merged to the collection. However, `update` has never needed to be blazing fast, so I don't see this as much of an issue.