Replace Travis CI Bash script with Ansible playbook
Re-introduce testing VM, based on Ansible
Merge branch 'ansible'

We replace the Bash script used to provision Travis CI with an Ansible
playbook, and re-introduce a Vagrant testing VM based on this playbook.

Originally, we removed the VM because we had to get rid of Puppet on
Travis CI, because it was way too slow.  Ansible however is considerably
faster, and only slightly slower than the Bash script, so we can use it
on Travis CI.  Since it's only little added complexity, we can
re-introduce the VM as well.

Note, though, that test *must* pass on Travis CI nonetheless.  The VM
is *not* considered authoritative.
Avoid 'flawed' warning with multi-file checkers

Some of the Go related checkers, for example, may report errors/warnings
for multiple files.  The "Checker definition probably flawed" message
can be seen currently with go-build, if there is a compile or link error
in a package file other than the current buffer.

Rather than check exit status and relevant errors, check exit status and
parsed errors.
Add Go errcheck checker