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