Allow using nil for smart localhost api_uri

This will first try the new 15762 port, and then fall back to the
legacy 55672 port.

This is primarily needed for handling the fact that we still run
RabbitMQ 2.x systems in production (and thus developers should run that
locally), while Travis only has support for RabbitMQ 3.x (>= 3.3).
Clarified tests for default API URI

Explicitly test the caching after first request.
Merge remote-tracking branch 'origin/rabbitmq_33'
Change the mgmt port to 15672 when starting a cluster
Fix indentation in clusterctl
Add Travis setup
Add a spec task to Rakefile and run it in Travis

It will run the build task too, to make sure that everything is built before the tests run.
Override PATH to avoid Debian-induced headaches

Debian adds RabbitMQ wrappers that only allow you to run RabbitMQ
commands as either root or the rabbitmq user. These not-exactly-useful
wrappers still run the command when another user executes them, albeit
without any arguments. For rabbitmq-server this is especially sinister
as that actually runs the server, but resulting in it mysteriously
ignoring the -detached flag that we were using.
Use hostname in integration tests

The output of `hostname -s` is used in the integration tests, to match
the hostname used when setting up the cluster using clusterctl.
Be creative with hostname

It turns out Travis workers do not use a qualified hostname, and
RabbitMQ gets way more confused than most people about this, especially
considering we never feed it anything but the short hostname anyhow.

By appending a .x to the hostname, RabbitMQ magically behaves, even
without adding this hostname to /etc/hosts or anything.

The suffix .x was chosen to be as short as possible, as changing the
hostname might fail with the very describe "hostname too long" error.
Increase integration test timeouts

Travis always seems to do worse in these kinds of timing-related tests,
so increase timeouts to increase the chance of passing.
Merge branch 'travis_setup'
Move to the modern convention of .ruby-* instead of .rvmrc

And don't keep them in the repo