jsonpickle: update copyright

Signed-off-by: David Aguilar <davvid@gmail.com>
handlers: use new-style classes

Signed-off-by: David Aguilar <davvid@gmail.com>
pickler: expose reset()

Signed-off-by: David Aguilar <davvid@gmail.com>
handlers: micro-optimize the built-in handlers

Signed-off-by: David Aguilar <davvid@gmail.com>
unpickler: reset when calling restore()

Simplify the unpickler by resetting its internal state whenever
restore() is called.  This simplifies the implementation as we can now
eliminate _push(), _pop(), and _depth.

The pickler still has the complex _push() + _push() pattern, but at
least the unpickler does not need to.

This speed things up a bit too since we're avoiding two slow python
function call for each node in the object graph.

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