Addresses Issues #12 #18 and #21

This adds some validation support, but the bulk of what will need to be looked at is the handling and projecting of exceptions.

I've taken an approach that gives a code to each exception type. Hopefully this will make it easier for the publishing party to reassemble the problem. It also provides a way to document the additional values that will show up in the exception glob that is represented in the publication http response.