Documentation edits

Just a few things I fixed up while reading the docs.
locations.rst wording tweaks
Added MessageUrn loopback tests

A few simple tests to make sure that MessageUrn is able to reacreate the
type it was passed in... which is not always the case.
More MessageUrn loopback tests

Additional tests covering messages with more than one generic type
parameter.
First implementation of message type parser

A static class that enables more complex message types to be correctly
parsed to .Net-compatible, GetType-loadable type names. (Makes some of
the loopback tests go green.)
Add assembly name to message URN

MessageUrn assumed that the message type was defined in an assembly
named the same as its namespace, which does not always have to be the
case.
Fix for a .NET Uri bug

After some poking around it turned out that .NET < 4.5.1 incorrectly
esapes some characters essential to MessageUrn doing its job properly.
New code cleanup

Using StringBuilder instead of a simple string to speed things up,
renamed parser to something more palatable, plus some comments.
Update rabbitmq.rst

Example on how to use RabbitMQ with custom vhost and credentials.
"UseRabbitMqRouting()" is deprecated according to https://groups.google.com/d/msg/masstransit-discuss/4m5Vf04oRWM/Z2veL6IcaGEJ so removing all references to it.
Update rabbitmq.rst

Fixed comments from @TravisTheTechie
- LoadRegisteredServicesFrom extension method to allow loading only services which were registered with Windsor
- Minor refactor of the extensions class
- Unit tests to capture the different scenarios the new method allows
Spelling fix in gotchas.rst
Allow customizing context with requests

There are times when the ability to pass custom headers comes in handy,
but this was only possible when using .Publish and not .PublishRequest
or .SendRequest.
Adding tests covering customizing context

Two simple tests demonstrating that the added methods are called and are
able to e.g. inject values into message headers.