Set deallocated pointers to NULL
Sparse matrix bindings

Goes part way to resolving issue #17
Split sparse matrix into header and implementation

* Moved the python testing functions to their own cython file.
  They will not be included in the distributed package this way.
* Rationalized copying files as targets via new add_copy_files function.
* Rationalized add_cython_files to accept arguments and put cython stuff into separate build file.
Wrapper for dataframe to visibility

Separated visibility into header and implementation files.
Corrects framework detection on MacOSX

CMake often detects python interpreters and python libraries/headers from different framework.
This fix should make it easier to align the libraries/headers onto the detected interpreter.
Move purify.*.pxd header creation to root package

Makes it possible for  different submodules to import each other.
Adding bindings for kernel creations

* Should potentially create a hardening test for the interpolation kernel.
  Or try to understand what it does...
* Closes #17
* No test for interpolation kernel #18.
Corrects cython dependencies
Adding FFTW bindings

* Closes #19
Adding sopt_sara_param bindings

Closes #22