Switch to 4-byte, user-defined, chunk length.

Now createEncryptor and createDecrytor accept a third optional parameter
to indicate the maximum chunk length, which is now encoded in 4 bytes
instead of 2 to allow chunks of up to 4 GB (please don't).

Also, readLength moved from decryptor to package root, renamed, and
accepts optional offset:

	nacl.stream.readChunkLength(data, offset)