Pure Python fallback

There are several cases where the Cython module cannot be used.

* When using PyPy.
* On Google App Engine or another restricted environment.

For those cases it is useful to have a pure python implementation of `msgpack`.

I could release this as a separate project, but I prefer it merged upstream: it will be easier to keep the API the same.

There is another project  which implements msgpack in pure Python, ( keisukefukuda/msgpack-python-pure ) but that is not a drop-in replacement.

Notes:

* Setup will automatically skip the module if it fails to build.  Maybe this is not desired: it could be moved behind a commandline flag.
* `msgpack` will first try to import the native module.  If none is available, it will use the fallback.
* The fallback module passes all current tests.
* The fallback module has not been tested for Python 3.
* The fallback module has been written with compatibility as first priority. There is a lot opportunity to improve performance.