Add first cut at Python bindings and test cases to verify that they
produce the same answers as calling the binary.

The main work we need to do is that input parameters may not be
properly deallocated.
Correctly deallocate temporary python objects in typemap