used some c++11

fixed the CI and moved some configuration options to header file. This has 1 advantage and 1 disadvantage:

Advantage: The default options are together with comments on 1 place, you don't have to search 2 files just to figure out what is what
Disadvantage: When you modify a default value, you will have to recompile big number of files as heavily included header file has changed