Added header files that use c++11 variadic templates instead of ruby code generation.
When the compiler configured to support C++11 (e.g. CXXFLAG contains -std=c++11 is given),
those files are used.
Decoupled unpacker and msgpack_unpacker.
This modification introduced C++11 dependency such as nullptr and unique_ptr.
I will support C++11 and C++03, finally.

Decoupled msgpack.hpp and msgpack.h.

Decoupled sbuffer from msgpack_sbuffer.

Decoupled vrefbuffer from msgpack_vrefbuffer.

Decoupled zbuffer from msgpack_zbuffer.

Added some z_stream initialization.

Removed unpack macros.

Removed CTX_CAST and CTX_REFERENCED.

Embed ctx_ as a member variable (not a pointer).

Modified zone free using C++ way.
Modified from ::msgpack to msgpack
Removed redundant namespace scope resolutions.
Modified unpack functions to class member functions.
Supported C++03.
Modified tuple's get calling from member function to free function.
Moved gcc atomic functions from source file to header file.
Moved ostream operator << from object.cpp to object.hpp
Removed object.cpp
Modernize configure.in
Moved the codes in pack_template.h to pack.hpp.
pack_template.h is still needed for the C version of msgpack.
Cleaned up include guards.
Replaced C-style casts with C++ stype casts in C++ codes.
Added member fucntion version of msgpack::type::tuple::get().
Added support functions for msgpack::type::tuple as same as std::tuple.
Tests for msgpack::type::tuple C++11 expansion moved to __cplusplus >= 201103.
Added map packing speed test.
Modified passed by value of object to const reference of object.
Modified object pointers to object references.
This modification has increased unpack speed.
Modified passed by value of object to const reference of object.
Removed C function call in operator==.
Removed object copy in implicit conversion class.
Removed redundant function prototype declaration.
Adjusted tab position.
Removed redundant try-catch, zone's constructor never throw.
In the C++11 version, added noexcept.
In the C++03 version, added throw() as comments because actual throw() introduces some overhead.
Untabified.
Modified zone* to zone&.
Modified unpack_user* to unpack_user&.
Removed redundant 'static'.
Modified 'unpacked' interface using references instead of pointers.
Added speed test for 'unpacked' based unpack() function.