Better cmakelists

Heavily updated CmakeLists

* OPTION() support
* hardening support build for gcc
* fixed freebsd build (see your issue #91)
* `make install` support
* use `glob` for headers instead manual files enumeration
* nice summary
* build notes for misc systems