Making vex::profiler a template

Current implementation of vex::stopwatch may have high overheads e.g.
when profiling is performed in a loop. This commit makes it possible to
choose between median and mean averaging.

Another change is that it is possible to select
std::chrono::high_resolution_clock instead of default
boost::chrono::high_resolution_clock.

Default behavior of profiler is left intact.
Fixing compilation error with gcc-4.6
Making git ignore build*
Travis-CI integration
Restricting cmake to CXX does not always work
Install boost on Travis-CI
Only install selected boost libraries
libboost-test-dev
Specify boost version in .travis.yml
Do not set lockfile permissions if boost is too old