Make attribute name available to typecaster object

This change makes the attribute name available to the typecaster objects
throught the options hash, as options[:attribute]. This is useful for
raising errors in the caster object, and including the attribute name
in the error message, which makes debugging much easier.