Split the code into MessageUnpacker and NonBlockingMessageUnpacker. Add property based tests
Fix fixarray and fixmap header econding
Add array and binary test
Add map test
Catch EOFException in skip(). Compare the performacne of two skip implementation
Removed polymorphic skip function because switch statement is faster
Removed debug message
Add nil test
Implement hashCode and equals in ExtendedTypeHeader
Add Closeable interface to MessagePacker
Detect valid UTF8 string in generating random strings
Fix the bit mask in readNextLength16
Fix packBigInteger to properly output integer less than 64 bit. Let unpackNil return null for convenience
Enhance comments
Move property based testing into MessagePackTest
Handle data at the buffer boundary
Add extended type tests
Fix the behavior of ensure(n) at the buffer boundary
Add test that unpack data at the buffer boundary
Fix extra buffer switch