Some IOBuffer work
o Made all (I think) functions atomic. Either they work or they do
nothing (except throw an error or return 0).
o One minor optimization to avoid copies when strings/system.memory
object etc are added to an empty buffer. Unless you add more data
the buffer is just moved to point to the object that was just added.
The malloced buffer is still kept around, however.
o Added a very very basic testsuite for IOBuffer. More to come.