Error response class

Whether we go with single threaded or multi threaded, we need an error response class.

This same class seems to be written by a number of people. This one in particular was lifted from @vanstee and updated per feedback from @stevenharman 


Can we just put that into master and then work on how we want to handle the #14 discussion?


On a side: I was thinking it would be nice to have notification as an attribute of error response. That way we could populate it if our client implementation was able. Thoughts?