Nested Validation Sets

I'm stacking this on top of the changes for #33, so that the merge stays clean; once that branch is merged the line count here will drop down.

`nested` allows the user to write more granular validations, then compose them up into larger, full-map validations. Let me know what you think!