Fixed bugs in ExceptionAlgo formatPythonException().

It wasn't handling NULL pointers properly, which lead to baffling `SystemError: NULL result without error in PyObject_Call` errors.
Moved Signal binding details to unnamed namespace.
Improved signal binding handling for boost::signals::detail::unusable.

The converter is the boost::python sanctioned way of doing things - the extract<> reimplementation inside the boost::python namespace is not.
Merge pull request #1110 from johnhaddon/translatePythonExceptionBugFix

Bug fix for formatPythonException()