Update setup to use install_requires
Merge pull request #38 from adepue/master

Update setup to use install_requires
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.
Remove Record.walk

Undocumented, difficult to use, replaced by VisitorPattern.
Refactor Visitor class into VisitorPattern and Visitor

The problem with the Visitor is that it didn't work on visiting input
and returning types.  Completely change the API, splitting it into an
instance which is specific to the visiting (the Visitor) and the class
methods which define what will happen along the way (the
VisitorPattern).