Add write_ext_header
Add write_ext_value
Add unpacking of Extensions
Move `fixext n` condition outside case statement
Add C MessagePack::Extended class

* Remove Ruby MessagePack::Extended class
* Move delegete_to_pack and ENSURE_PACKER to packer_class.h
* Make msgpack_packer_write_ext_value access the instance methods `type` and
  `data` instead of just instance variables.
Extract read_extended_body_begin
Fix: packing ext type is returning 0
Check for type range error during init
Add spec checking for packed result
Add parenthesis to remove ambiguity
Rename Extended_to_eql to Extended_eql
Check for sameness of class for Extended.eql?
Add and use Extended#create for ext generation

This lets the users override Extended#create to handle the
deserialization of application specific extended types.
Use the approriate integer types for var ext head
Add type setter for Extended