Make the views layer accept Bundles for CRUD instead of raw data.

This results in some nice cleanups and, since the REST API layer
was using the Bundle tools to deserialize the JSON data anyway, it
avoids an utterly pointless double conversion. The tests are also
much cleaner this way and contain many fewer unchecked conversions.