Reconfiguring build system to use cookoff

This [cookoff](https://github.com/UCL/GreatCMakeCookOff).
It should automatically download boost and eigen, if those libraries are
not found.
The next step is to make sure testing can be carried out in the build
tree, without installing.
And the last step would be to add an appropriate setup.py
Adds a gitignore file
Added standardized add_python_module function

This function is used throughout to build and install the python
packages.

- builds the extensions into a specific directory that has the right
structure for python
- copies python files (*.py) into the same directory structure
- should install everything, including headers. This is not yet tested.
Adding first test from crystal with new build system

Adds a specific add_nose_test and add_nose_tests functions.
The tests are transformed to work with nose.
Adds code in build system to look up nose and nose-parameterized.
Updated all tests in crystal

- add_python_module: option to install or not to install
- add_nose_test: corrected :bug: when assigning labels
- moved  all tests to nose format
Nose tests added via a pattern
Adding python cinterface tests
Adding back ewald tests
Adding math tests
Adding tests for tools
ADd some vasp tests

- Add ability to exclude some files in add_nose_tests
- Correct a bug when vasp_has_nlep is not defined
- Install config via add_python_module
Add tests for vasp.incar
Adding vasp.extract tests
Adding jobfolder tests
Add option for a fake initialization file
Moving to mpi4py version of process tests
:lipstick: line size
Adding another test for processes

Adding explicit failure mode in test functional
All tests for process are now ok
Remove editor backup files