Remove statics from Address class

Quite a few things to do to pull this off:

- [x] Removed the static `Address.OverridePublicReturnAddress`
  Introduced new API to support this scenario:
  ```c#
    var config = Configure.With(o =>
            {
                o.OverridePublicReturnAddress(new Address("Foo", "mydomain.com.au"));
            });
   ```

- [x] Remove `Address.InitializeLocalAddress`
  Moved this feature to `ConfigureTransport<T>`

- [x] Remove Address.Local
  Instead we expose the local address for the endpoint in the `Configure`

- [ ] Remove Address.OverrideDefaultMachine
  The plan is to ignore the machine part of the address till is relevant (when we sending messages)
  But is actually difficult because we use it to do equality in `Address` class.
  The plan is to move it to `ConfigureTransport<T>`

- [ ] Remove Address.IgnoreMachineName 
  This is used by the SqlServer transport
  The plan is to move it to `ConfigureTransport<T>`, but once again this changes the comparison logic in the `Address` class