Committing initial port of buffer.
Importing work on view.
Merge branch 'master' of github.com:flowgrammable/freeflow into data
Adding missing file.
Porting/rewriting error conditions.
Merge branch 'data' of github.com:flowgrammable/freeflow
Merge branch 'master' of github.com:flowgrammable/freeflow
Cleaning up the error/trap functions.
Add missing file.
Cleaning up buffer.

Removed the state from the buffer so we can use error to manage
all unintended effects.

Need to rethink interaction with file streams, etc, and
throwing exceptions.