sequential, parallel: allow entries to be references to top-level config

Often we want to build a test collection that substitutes different
sequences of tasks into a parallel/sequential construction.  However, the
yaml combination that happens when generating jobs is not smart enough to
substitute some fragment into a deeply-nested piece of yaml.

Instead, make these sequences top-level entries in the config dict, and
reference them.  For example:

tasks:
- install:
- ceph:
- parallel:
  - workload
  - upgrade-sequence
workload:
  workunit:
    - something
upgrade-sequence:
  install.restart: [osd.0, osd.1]

Signed-off-by: Sage Weil <sage@inktank.com>
ceph: add wait_for_mon_quorum command

tasks:
...
- ceph.wait_for_mon_quorum: [a, b]
...

will block until the mon quorum consists of exactly [a, b].  This is
compared directly to the relevant field from 'ceph quorum_status'
which has the alphanumeric names only.

Signed-off-by: Sage Weil <sage@inktank.com>