task: ceph: allow for alternative binaries to be setup

Instead of keeping our downloaded binaries on testdir/binary, keep them
on testdir/binary-alternatives/default.  Also, accept a list of alternative
binaries on config, so that we can instruct the task to download and set
them up.  For instance, a configuration such as

  - ceph:
    branch: master
    alternatives:
      foo:
        branch: foo
      bar:
        branch: bar

would make the ceph task to set up the following test directory:

  testdir/binary-alternatives/default
  testdir/binary-alternatives/foo
  testdir/binary-alternatives/bar
  testdir/binary -> testdir/binary-alternatives/default

being the 'master' branch the one kept on 'default'.

This allows us to change the alternative while the ceph task is running.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
task: upgrade_ceph.py: Example task on how to upgrade ceph on runtime


Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>