make nested_hash with as: work and move it into Save.
remove Form#from_hash, we don't need it anymore. this happens in #validate.
Fields is now Struct and not OpenStruct anymore. this limits its API and removes the need for OpenStruct, which many people disliked.
Revert "Fields is now Struct and not OpenStruct anymore. this limits its API and removes the need for OpenStruct, which many people disliked."

This reverts commit 83f48b4873086ba2d6db0ee2054ca87f391cdf7f.
CHANGES.