Implement make install

TODO:

* [x] test it on Travis (compile a simple test program using the installed library and header files, for example `src/tests/basic/test_basic.cpp`, and run it). Merge #199 first, then add this extra test into `bin/test_travis.sh`
* [ ] make it work if Python is enabled (i.e. allow to install the Python bindings)
* [ ] Test the Python on Travis as well