Modularize CMakeLists.txt.

This is still a work in progress, but the bulk of the work is done now.
This change moves standalone executables into tools/ subdirectories of the
libraries they are for, and makes our build system consist of many
CMakeLists.txt files. This should make things easier to follow, at least
locally.
Fix compilation with gcc.
Update cmake version for travis-ci builds.
Update cmake version one further for travis-ci.
Try a different PPA for travis-ci cmake.
Update cpptoml dependency.

We can now use an include_subdirectory() and link_library() to inherit the
compiler checks (and include paths) in the cpptoml repository without
having to re-write them ourselves.

This change requires CMake 3.0.0 or greater.
Attempt to update Travis-CI for CMake 3.0.0
Trying a different ppa for Travis-CI CMake3 dep.
Attempt manual install of binary package for travis-ci CMake 3.0.1
Try again to get travis-ci to install CMake 3.0.1
Fix travis-ci CMake 3 install.
Merge branch 'develop' into language-model

Conflicts:
	src/lm/language_model.cpp