Allow tests to work on different versions of Python and GEOS
 - Add distutils as a fail-safe if setuptools is not available
 - For Python 2.6, require unittest2 to use modern unittest features,
   and with each test modules use `from . import unittest` to use it
 - Use `@unittest.skipIf` rather than `if` blocks to skip tests
   - Prepared geometries require GEOS 3.1.0
   - Linear referencing requires GEOS 3.2.0
   - Unary union requires GEOS 3.3.0
   - ndarrays requires Numpy (I can't do anything with the .txt tests!)
   - Speedups require them to be available (via Cython)
 - Update a few deprecated methods like failUnlessAlmostEqual
 - Several other misc PEP8 in geos.py