.gitignore maintenance

Signed-off-by: David Aguilar <davvid@gmail.com>
Add recent additions to MANIFEST.in

Signed-off-by: David Aguilar <davvid@gmail.com>
documentation updates

Signed-off-by: David Aguilar <davvid@gmail.com>
pickler: rename *collection* methods to *sequence*

Avoid confusion with `collection.defaultdict` and friends by renaming
these.

Signed-off-by: David Aguilar <davvid@gmail.com>
tests: remove 'import *' in util_tests.py

Signed-off-by: David Aguilar <davvid@gmail.com>
jsonpickle: do not depend on 'six'

jsonpickle.compat has everything we need.

Signed-off-by: David Aguilar <davvid@gmail.com>
jsonpickle v0.5.0

Signed-off-by: David Aguilar <davvid@gmail.com>
handlers: explicitly register handlers

Replace the metaclasses with explicit calls to handlers.register().
This is needed to support Python 3.

The built-in handlers were moved into jsonpickle.handlers to signify
that it's safe for others to use them.

Signed-off-by: David Aguilar <davvid@gmail.com>
jsonpickle: Python 3 support

Closes: #50
Signed-off-by: David Aguilar <davvid@gmail.com>
tests: add unit test for struct_time

The Python3 support required use of SimpleReduceHandler to
serialize struct_time.  Add a unit test to document the expected
behavior.

Signed-off-by: David Aguilar <davvid@gmail.com>
tests: add a unit test to ensure we can pickle builtin exceptions

Signed-off-by: David Aguilar <davvid@gmail.com>
pickler: factor out `rename_module()`

Signed-off-by: David Aguilar <davvid@gmail.com>
tests: eliminate all the extra classes in util_tests

Signed-off-by: David Aguilar <davvid@gmail.com>
util: simplify and fix is_function() for python 3

Simplify how we detect functions and add unit tests for instance methods
and builtin functions.

Signed-off-by: David Aguilar <davvid@gmail.com>
util: simplify how we handle translated module names

Centralize the code that is responsible for mapping module names
between python 2 and 3.  Map all builtins to the __builtin__
"canonical" name.  We translate this back to the effective
module name when importing, which allows for data compatibility
between Python 2 and 3.

Signed-off-by: David Aguilar <davvid@gmail.com>