Compiler

As Doru's investigation showed us.  Debugging performance problems due to bad compilation via instant can be a little tricky.  It turns out we really don't need all the machinery that instant gives us, so implement compilation/caching by hand.  We build a shared library then load it via ctypes.  This speeds up compilation quite a bit (no more swigging) and as a bonus we get compilation on only one process.  Specification of all compile flags is now completely explicit.

We still have a soft dependency on instant (via ffc) which I have left in so that travis/tox are happy.  When the ffc interface is removed those can go too.

To set the directory in which the compiler caches its files, you need to set PYOP2_CACHE_DIR (it defaults to somewhere in $TMP).