Add support for complex objects to be imported.

This adds the ability to read complex python types from a pickle and create js objects.  It does this using two parts 1: exposes the emulated structure , and 2: handles the actual opcodes for BUILD and OBJ.  In the case that the custom class is not registered with the emulated structure it will throw the "Cannot emulate global" exception.  Properties are dynamicly added, so in most cases the custom type just needs to be defined as an object.  Any special methods, or well known properties can be added to its prototype.  In theory I could make the unpickle fail though if the property it wants to populate is not present to perform some sort of type safety.  Currently I am using this with the Bitbake XMLRPC interface with no issues.  They use Python2 though, so I have not tested with Python3.