factor out ArrayStream, update new stream types to respect peek
-rw-r--r-- .gitignore
drwxr-xr-x lib
drwxr-xr-x maint
drwxr-xr-x t