Refactor transport and client

Moved Transport into balancers package. Balancers don't need their own
transport after all.

Removed the Client func from the Balancer interface. Instead, you can
now ask for a client by calling `balancers.NewClient(balancer)`.

Changed the documentation accordingly, and improved it a bit.