Fixes to datasource schema API

Previously we required the ID field in the get_item call
of the schema_model method to be non-None, but the API framework
always provides an ID.

This change makes schema_model more forgiving and ignores
the ID field if it is provided.  It also fixes a bug in
error-reporting.

Change-Id: Ie7fb35d66d3a5c1566b82a876ca4f9d056cb1cbc
Merge "Fixes to datasource schema API"