Switch test build system to cmake.

Also:
- Update .travis.yml to make use of the above
- Beginnings of C++14 feature detection