Created tasktest to test sequential and parallel tasks.
Added sequential task and parallel task.
Changed _run_one_task to run_one_task (now called by new tasks too).

Fix #4969
Signed-off-by: Warren Usui <warren.usui@inktank.com>
(cherry picked from commit e3d9084cd9fccb1f99ac44f04da7db4e7cb0cb7a)
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>
(cherry picked from commit 68888862a1464eedd9ccf83ada7c32888f97f31c)