Split build matrix into C/C++ builds
Keep valgrind and non-valgrind tests in separate travis matrix entry
Add travis test with optimizations for better code warnings
Allow to run tests in parallel make jobs
Use all available processors provided by travis ci