This commit changes connection mechanism and breaks controllers

In an effort to deal with reconnections in a smarter way,
the logic for creating a new connection has been pushed to the
controller. This allows for more flexibility and decouples the
XMPP network from managing connections
Disable translation by default
Simple get state update
Deals with Windows crash on PortAllocator cleanup
Release port_allocator to avoid segfaults
Changing timeout length to determine effect
Disable disconnection on WIN32 to avoid crash
Fixup memory leak in DestroyTransport.

Transport (and channels) depends on port_allocator, so we can't delete
port_allocator before deleting transport.
The order of members in PeerState makes destructor to delete resources
in incorrect order.