Improve .travis.yml to build with gcc and clang in parallel.
Add beginning of protocol definition.