Added support for individualizing endpoint instances

#### Documentation

When scaling out endpoint you need to make sure it gets a unique input queue per instance while keeping the endpoint name the same. This can be done by calling

```
configure.UniqueQueuePerEndpointInstance()
```

this will tell NServiceBus to use the discriminator registered by the transport or host to make sure that each instance of your endpoint will be unique. For MSMQ this is a no-op since you commonly scaled them out by running multiple instances on different machines and that will give them a unique address out of the box. Eg: `sales@server1, sales@serverN` etc.

For broker transports that's no longer true hence the need for a discriminator. For on-premise operations the machine name is likely to be used and in cloud scenarios like on Azure the instance id is better suited since machines will dynamically change. 

RabbitMQ example:  `sales-server1, sales-serverN` 
Azuer ServiceBus example:  `sales-1, sales-N` //where N is the role instance id

If you need full control over the discriminator or if the transport hasn't registered a default you can control it using:

```
configure.UniqueQueuePerEndpointInstance("-MyCustomDiscriminator")
```