allow access to container hierarchy even when freed

git-svn-id: https://svn.apache.org/repos/asf/qpid/proton/trunk@1636672 13f79535-47bb-0310-9956-ffa450edef68
added timestamp conversion for message properties, cleaned up conversion elsewhere

git-svn-id: https://svn.apache.org/repos/asf/qpid/proton/trunk@1636938 13f79535-47bb-0310-9956-ffa450edef68
PROTON-736: Ruby Message does not return all content.

The content method was not expanding the return size of the data to
accomodate large payloads.
PROTON-736: Only encode Ruby strings as UTF-8 if it says it's UTF-8

For Ruby 1.9 and later the String method has methods for both checking
the encoding of a string and also for changing that encoding and
validating it. So for those version of Ruby the code checks if a string
is UTF-8, or if it can be "forced" to be UTF-8, and, if so, sends it as
a String.

Otherwise, it considers the string to be only binary data and sends it
as Binary.

On Ruby 1.8 these functions don't exist. So what the code does is check
the string for non-unicode data. If none is found then it sends it as a
String, otherwise it treats it as a Binary.