Transform: rename stream_transformation to to_stream_fn
Stream docs: explicitly include stdlib elements, organize into sections

Also improved documentation of several elements. This addresses #64 but
a bit more polishing is needed.
Streamable: move to its own module

This follows Core style.
Streamable: rename type streamable to t

Using distinct type names for modules intended to be included is not
necessary since OCaml 3.12, which introduced destructive substitution
in module constraints.
Stream: fix doc bug
Stream: remove extraneous Streamable module def

Should have been done with 116c39bd60061a5dfbeaa81460376630b9113a44.
remove extraneous streamable type definitions

Should have been done with 5827bcf946228fcb9c4320cfed4c10c094dff278.
Streamable: rename stream to to_stream

This follows Core style.
Lines: implement group2 transform
Lines: define Error sub-module
Stream: minor doc fix to section headers
Stream, Internal_pervasives: doc fix

Some Stream documentation was mistakenly left in Internal_pervasives.
Internal_pervasives: add Buffer
define Streamable.S2 and use for Hashtbl
Lines: directly import some string functions

See lines.mli documentation for justification.
move line related functions from Stream to Lines

Also rename the functions, make other changes due to Lines.item being
abstract.
Stream: obey "t comes first" rule
Stream: add strings_of_channel function
Transform: rename to_stream_fn to to_stream_fun
fixed principality warning