Trap Exceptions from Property coerce functions

These can be a bit indecipherable at times; isa=datetime being the
canonical example.
Fix a minor bug with DatetimeProperty being assigned a Date

This coercion was not tested and had a bug.  One of the untested coercions
turned out to be 'impossible' to trigger; document that.
Add support for 'compare_as' on properties

Test this API, which is supposed to be convenient!  So, supply a property
subclass which accepts the "compare_as" property.  "compare_item_as" is
still missing but that's fine.
Release engineering for 0.4.7 PyPI release