ImpalaTargetContext reinstantiated for each UDF

This appears to solve a problem where only the first UDF built using the ImpalaTargetContext works, and the rest are broken.  It appears the problem is that after the precompiled module is loaded, the linking destroys it, so following UDFs get a borked precompiled module.
Added some string tests
Revamped build for the precompiled binary

User now must run `make` first to build the Impala precompiled binary.  It will then get installed into the right place with `python setup.py install`.

Also cleaned up fn loading a smidge.