first cut of custom headers.

Messages can now be adorned with an IHeaders interface which gives each
message you publish access to the headers collection on the default
properties.
api to allow for setting header strategy fluently
add support for custom header strategies on publisher