Some bug fixes & other code improvements

* git

- Updated .gitignore file to avoid registering MATLAB MEX files on
  Windows and Mac OSX

* C++

- major bug found when copying Eigen -> MATLAB sparse matrices in
  uncompressed mode.
- renamed custom assert macro
- moved some GCC pragma to avoid being seen by MSVC

* MATLAB

- Updated MEX test function to include a real test case
Some code reorganisation + cosmetic changes

* folder structure

- change the structure of the project to be easier to integrate into
  other projects.