Fixes pickling issue using pickle protocol 3.
Adds abstract JSONable class to handle abstract reconstruction.
Added mangled _from_json() to preserve cross-class method visibility.
Adds 'bool' to natively JSONable types.
Fixed a minor bug in repr(JSONable)