jsonpickle: better support for objects that implement __getstate__() only

When an object implements __getstate__() but not __setstate__()
then jsonpickle was ignoring the __getstate__() implementation.

Change the logic so that we take the result of __getstate__()
regardless of whether __setstate__() is provided.

If __setstate__() is missing when restoring from json then
return the original __getstate__() data as-is rather than
returning an empty object instance.

Closes #73

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