Convert interp C library to an extension module.
Convert timeaxis shared library to a C extension module.

Also, minor tweak to tools.point to allow 0-d arrays.
Wrap quadrule.legendre_compute in a C extension module
Wrap tools.c as a Python extension module.

Comment out tools.common_map, which has never been tested/used.

Add a simple unit test for the climat operators / partial sums.
Remove 'index' code.

It doesn't appear to be used anywhere, so it's one less shared library to deal
with.
Clean up the "tools" extension module.

Interface it directly with numpy arrays, no ctypes pointer encoding/decoding.
Clean up quadrule extension module.

Allocate the output arrays within the extension, don't pass in mangled ctypes
pointers.
Clean up interp extension module.

Pass the arrays directly into it, don't use clobbered numpy pointers.

Don't need to import libgsl or libgslcblas from Python - these library
dependencies will be handled by distutils at compile time.

Don't extract the interpolation type in Python, let the extension module handle
that.
Update references of PyArray_FromDims to PyArray_SimpleNew (former is deprecated)
Convert the svd C shared library to a Python extension module.

Include a simple unit test for SVD.
Fix a weird bug when testing EOFs - problem with applying weights when they're scalars?
Forgot a method for svd extension module (build_eofs)
Used the wrong type for PyArray_SimpleNew.

Caused weird error messages for some distributions/architectures.
Change order of libraries for interpgsl extension module.

The order matters for more recent versions of gcc.
Covnert EOF shared library to a Python extension module.

Include a half-assed unit test that doesn't really work, but at least shows
that nothing is crashing.
Convert the opendap helper library to a Python extension module.

Note: This library doesn't do any opendap-specific stuff, just some generic
number encoding/decoding.
Fix opendap extension module.

- Revert back to unsigned chars for string arguments of str2<type> methods.
  Having a sign screws up the decoding of the values.

- Create new str2float32, str2float64, float32toStr, float64toStr methods to
  handle the floating-point arrays, instead of shoehorning floats through the
  integer methods.

- Use "s#" for PyArg_ParseTuple and Py_BuildValue on strings, to get/set the
  proper length of strings that may contain null characters.

- Remove limits on dimensions for PyArray_ContiguousFromObject, since we could
  be converting a multidimensional array.
Convert grib C library to an extension module.
Use standard numpy interface for timeaxis.c, instead of passing naked pointers around.
Remove the Makefiles.  This is now a fully Python-based package, with proper extension modules.

To compile the extension modules in-place, run:
  python setup.py build_ext --inplace