Purge OP2-COMMON dependency
Make plan related cython code into a separate extension
Refactor C/C++ extensions

* split into 3 extensions (sparsity, plan, computeinds)
* include sparsity C++ code directly in cython
Refactor, move Plan class from module device to module plan
Update gitignore
Update Makefile
Remove OP2-Common dependencies in host generated code
Remove dead argument on Plan::__init__
Directly pass sparsity.maps to build_sparsity_pattern
Use numpy arrays in build_sparsity instead of malloc'ing by hand
No more need to explicitly free since Cython manages memory
Disable bounds check and wraparound in sparsity builder