Clean up Address class

Make the Address class behave like Client and it's children, (required
parameters, validation, etc).  Do this by creating the RequestNode class
and inheriting it in Client and Address.

My thinking is that since all of these classes do essentially the same
thing, (output XML strings), it makes sense that they should come from a
common base, especially since you probably want to do similar things
with the XML, (validate node presence and so on).  It's still a pretty
rough cut, but its a good model for the moment.

Next steps will be to, (finally), clean up the specs on Consignee.
After that, I'll be hunting through Nichole's TODO's for more targets to
hit.