Lots of cleanup on the SWIG wrapping layer

Now, the way SWIG wrappers call into Python is through a utility PyCallable object, which overloads operator () to look like a normal function call
Plus, using the SBTypeToSWIGWrapper() family of functions, we can call python functions transparently as if they were plain C functions
Using this new technique should make adding new Python call points easier and quicker

The PyCallable is a generally useful facility, and we might want to consider moving it to a separate layer where other parts of LLDB can use it



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184608 91177308-0d34-0410-b5e6-96231b3b80d8