MessagePack Proposal v5 with explicit string type.

Reference: https://gist.github.com/frsyuki/5432559#types-extension-type
GH Issue: https://github.com/creationix/msgpack-js/issues/7

* Reorder decoder types detection code so it aligns with mapping tables in the specs.
* Changed how `undefined` are handled, uses the `fixext 1` extension type instead.
* Removed old `raw`-related things.
* Added support for `str` type family decoded to node string.
* Added support for `bin` type family decoded to node Buffer.
* Added support for `ext` and `fixext` type family decoded to a [type, Buffer] tuple.
  * Exception for `fixext 1` which is just 1-byte long so a simple [type, value] is
    returned instead.
* TODO: There is no test for the `ext` and `fixext` since there is no way/need in JS to
  specify and encode "extension" type. Would be good to have tests on decoding part though
  since other languages/implementation may have made use of them.