Moving ImmutableValue implementations into ValueImpl

Changing the interface structure

Integrating interface classes into ValueRef

Add cursor

Cursor API design

Add MessageOverflowException to support integer and float types

Removed ValueRef

Implemented NumberValue interfaces

RawValue impl

Added remaining Value implementations

Fix interface name

Use bufferSize argument

Use ChannelBufferInput when FileInputStream is passed to the unpacker

Added test cases for reading various types of MessageBufferInputs, and fixed some errors

Extracted Value classes and their implementations to upper level

Add visitor pattern interface. Rename some classes

Add union of integer values

Add unpackInteger that stores the read integer to IntegerHolder

Use IntegerHolder in CursorImpl

Rename: BIGINTEGER -> BIG_INTEGER

Edit the comments

thows MessageTypeException when failed to convert the cursor type

Add switch statement

Moved msgpack-value code into msgpack-core