PROTON-745: update DataImpl to return arrays of Symbol as Symbol[] instance rather than Object[] instance, and enable Data#putObject() to accept the Symbol[].
PROTON-746: Fix encoding a Ruby symbol into a message body.

The symbol needs to be converted to a string before being encoded.
PROTON-750: Have explicit API to detect ssl if present
- avoids overloading other functionality for this purpose.
PROTON-749: Refactoring of io layers:
- Eliminate some unnecessary stuff.
- Make pn_io_layer_t a pure interface.
- Simplify amqp header code; remove header_count member from pn_transport_t
PROTON-749: Change tick layer callbacks so that they're not chained just called in sequence
PROTON-749: Remove transport pointer from ssl and sasl structs
- Change means that API pn_ssl_t and pn_sasl_t pointers are really
  pn_transport_t pointers and need to be cast internally on use
PROTON-743: Provide a means to clear errors in a Ruby Messenger.

Added the clear_error method to allow clearing out the error state in a
Ruby Messenger object.
PROTON-736: Replace missed force_encoding with encode
NO-JIRA: Removed trailing spaces from the Ruby Messenger class.
PROTON-747: Around wrappers for Ruby Messenger methods that raise errors

Each method that could potentially raise an exception in
Qpid::Proton::Message is now wrapped by a method which checks for, and
then raises, the appropriate runtime error based on the error code.
NO-JIRA: Fix how Perl uses the utils module.
PROTON-753: add constants for the delivery outcome symbol descriptors, for use in setting the supported outcomes on a Source
PROTON-749: Split transport into server/client sides
- This allows the server and client sides of the transport
  to have different default behaviours.
- We set the SASL client/server from the transport setting
- There are some workarounds in the tests because the full logic isn't
  implemented in proton-j, but the shared python tests must run against both.
PROTON-749: Server transport autodetect:
- Defer layer initialisation until first send/receive
- Move layer initialisation entirely to transport
- Server transports will now autodetect the client protocol layers
  talking to them and configure themselves automatically
- There are still some hacks in here to make SSL work.
  It's not obvious why we need these hacks.
PROTON-749: Add the deprecated C APIs back in for backward compatibility.
PROTON-749: Fix erroneous windows change due to previous version to changeset.
PROTON-749, PROTON-750: Merge these changes into development stream.
PROTON-755: Update Ruby smoke tests to use Minitest

The old test framework module names have changed.
NO-JIRA: Fix a few Ruby method names to fit naming conventions.

Messenger::receiving and Messenger::stopped renamed to
Messenger::receiving? and Messenger::stopped?

Also fixed a typo in one rdoc and added rdoc to receiving?
Revert "PROTON-755: Update Ruby smoke tests to use Minitest"

This reverts commit 1d3a13863117cfca5aef56244b20773760428796.