- The parameters for the `handle_connect/2` callback have been reversed. The
order is now `(conn, state)`.
- Added initial connection timeouts.
(`:socket_connect_timeout` and `:socket_recv_timeout`)
- Can be used as `start` or `start_link` option or as a `Conn.new` option.
- `:socket_connect_timeout` - The timeout for opening a TCP connection.
- `:socket_recv_timeout` - The timeout for receiving a HTTP response header.
- `start` and `start_link` can now take a `Conn` struct in place of a url.
- Added the ability to handle system messages while opening a connection.
- Added the ability to handle parent exit messages while opening a connection.
- Improve `:sys.get_status`, `:sys.get_state`, `:sys.replace_state` functions.
- These are undocumented, but are meant primarly for debugging.
- Ensure `terminate/2` callback is called consistently.
- Ensure when termination when a parent exit signal is received.
- Add the `system_code_change` function so that the `code_change` callback is
actually used.