correcting use of inline functions

Whether `inline` appears or not, to an inline a function is a perogative of the compiler. Hence a
definition should always be available. This is detailed in this [stackoverflow post](http://stackoverflow.com/questions/6312597/is-inline-without-static-or-extern-ever-useful-in-c99).
Adding .gitignore to automaticall ignore bin and lib
Removes unused variable warning when compiled without openmp
Adding data/test/ to ignored directories
Adding CMake framework

* Compiles library, example, test
* Downloads UCL/GreatCMakeCookOff for cmake recipes
* finds BLAS, CFitsIO, TIFF, FFTW3
* Doesn't do anything about doxygen yet
* Doesn't do openmp yet (*NOTE*: clang doesn't have openmp support yet)
Including BLAS using cblas.h only

On mac, used to include Accelerate framework directly using Accelerate.h. This is not useful since
the framework has a cblas.h, just like any other cblas implementation.
Adding ability to detect C99.

There was no standard "inline" keyword prior to C99.
Purify uses inline. Hence Purify is technically a C99 code.
Otherwise, it does not compile with gnu 4.9. Relying on a well-defined "inline" keyword by going to
C99 should prove safer and more portable.
Adding OpenMP

OpenMP is optional. If it is not found, then the configuation continues, and the code will compile
without.
Merge pull request #4 from UCL/features/cmake

Features/cmake