Associated error messages

Fixes #616 

Based off of work in #617 by @jmccartie. Trying to wrap this issue up and get it into master.

Made one change so that deeply nested attributes can be humanized properly, and added an additional test for it.

@nickjs @angelini @pushrax @kristianpd