Document and export alloc_request(), notify_filled().

These are currently used by libuv to get a pointer to a block of memory to fill, and then update the IOBuffer info.

Zlib.jl currently uses IOBuffers in a similar manner, but copies the data twice.  It would be nice if it could use this mechanism, and an exported interface is less likely to break/change than a non-exported one.

Also slightly updated the call signature of notify_filled() to be more friendly to external users, minimally affecting libuv use.