Performance improvements and add copyToStream method with test.

I have a few bug fixes and improvements if you're interested. 
* Generalization of the method for traversing the tree as well as a big performance improvement by using List as the stack implementation as opposed to Vector
* Fixed some bugs in the ByteBuffer related methods which leave the underlying ByteBuffer modified and therefor mutate the inner state of the ByteVector
* Add methods for writing the ByteVector to an OutputStream

I love this library btw. I hope it becomes a defacto standard for fast yet immutable byte representation in Scala, at least in the fun projects ;)