Python Packaging + bug fixes.

Most of the changes in the this pull request pertain to additions/modifications for python packaging. setup.py has been essentially rewritten; setup.py invokes cmake to determine system configuration, directories, libraries, flags etc.; the actual build is done via setuptools and distutils.

Also fixed bugs that crept in during SSF integration, that broke receiving remote objects when using SimEngine, or when using NDEBUG flag for SimEngine and SSF.

The last major change is that SSF's random module has been disabled, since it was unnecessary.