This commit fixes the Docker setup and also the CI build.
Also the contributing guide is updated with the new information related
to Docker. The CONTRIBUTING.md file is used to comply with GitHub
guidelines to help other developers to contribute.
We need some extra setup work that's easier to accomplish in a separate
script than embedding it all in the Travis CI configuration. Follow the
scripts-to-rule-them-all pattern from GitHub and add a script/cibuild
for that purpose.