Fix bug in SliceByteVector#toArray and general performance improvements
 - SliceByteVector#toArray used the wrong starting value for i,
   resulting in bad array data when offset != 0
 - Significantly improved performance of BitVector.equals/hashCode
 - Increased default chunk size for BitVector.{fromInputStream,
   fromChannel} to (1) improve performance and (2) reduce likelihood of
   stack overflow
 - Fixed toString on SliceByteVector
 - Fixed drop/take on SliceByteVector when passed negative or very large
   input