src: improve and update ByteSource description
Clarify that external data must not be destroyed before the ByteSource
that points to it, and that allocated data must have been allocated using OpenSSL's allocator (because it will be freed automatically, using OpenSSL's memory management functions).
Also add a brief description of the new ByteSource::Builder
class.