Support column type interrogation

Delegate to the model for column_for_attribute

Implement column_for_attribute on reform enabled forms. simple-form and
formtastic call column_for_attribute on the form object in order to
determine which html input tag to generate for a particular field.
3 failures and one dirty hack.
for now, save features in contract and pass to representer_class per contract class. form_class can be set globally.
FEATURE: Added ability to copy validations from the underlying model.
REFACTOR: Added describe blocks to test.
BUGFIX: Fixed tests for activemodel < 4
BUGFIX: Validates is now passed symbol arguments, for rails 3.0.
REFACTOR: Added a Mapping class as a higher level of abstraction of Representable::Config
REFACTOR: Changed inverse_map to inverse_image, and forward_map to forward_image.
REFACTOR: Simplified Mapping class
README tweak.
document Form::Validate.
start prototyping on Form::Scalar, where a property can be nested (and define validations) but doesn't represent another "form model" but a simple object (e.g. a string, or an uploaded file object).
let populate! and deserialize! be the same.
make #populate! redundant. this saves us from calling #from_hash twice.
make Validate A HUNDRED TIMES simpler.
delete all the code in Populate.
cleanup F:Validate.
test.
working on Scalar form.