Changed messenger-related behavior

This commit changes data_read_messenger to memcpy to a preallocated
buffer not controlled by this library, and adds the function
data_messenger_size to provide the necessary size for that buffer. Since
these methods are the preferred way to copy out Messenger data, this
commit also changes tox_data->data to tox_data->_data, and
tox_data->data_length to tox_data->_data_length to indicate their
private status.