PROTON-???: Make previous changes compile under Windows

git-svn-id: https://svn.apache.org/repos/asf/qpid/proton/trunk@1625865 13f79535-47bb-0310-9956-ffa450edef68
QPID-690: object/list/hash changes affecting Windows components

git-svn-id: https://svn.apache.org/repos/asf/qpid/proton/trunk@1625894 13f79535-47bb-0310-9956-ffa450edef68
Initial refactoring of io layers:
- Eliminate some unnecessary stuff.
- Make pn_io_layer_t a pure interface.
Remove unused io_layer function.
Simplify amqp header code; remove header_count member from pn_transport_t
Refactor the io_layer
Change tick layer callbacks so that they're not chained just called in sequence
Remove transport pointer from ssl and sasl structs
- This involved changing pn_ssl_init() API
Reorganise layer initialisation:
- Defer until first send/receive
- Move layer initialisation entirely to transport
Mostly split transport into server/client sides
WIP
WIP: A lot of server autodetection done - not fully working yet
WIP: Somewhat working server autodetect - passes tests now
- There seems to be an issue if autodetecting ssl and the
  handshake failing that ssl isn't fully destroyed.