add support for multiple steps converge

This change allows multiple provisioner runs to be made on a single converge.  This can be used to test migration between cookbooks versions #339, to install a new kernel #324 (using cookbook-reboot-handler patched with emiddleton/cookbook-reboot-handler@a94e40edca2dccf3dcc17334825b6489edde6103) and to make converge more robust #162

Converge steps are defined as an array of step hashes as shown below.  (step hashes support all suite keys except name: and steps:).

```yaml
platforms:
  - name: centos-6.4

suites:
  - name: mysuite
    steps:
      - run_list:
        - recipe[wakame-vdc::default]
      - run_list:
        - recipe[wakame-vdc::default]
```

Each step result in a new instance with _step_n attached to the suite name i.e

```shell
# kitchen list

Instance                  Driver   Provisioner  Last Action
mysuite-step-1-centos-64  Vagrant  ChefSolo     <Not Created>
mysuite-step-2-centos-64  Vagrant  ChefSolo     <Not Created>
```

This allows test to be run at each step in the convergence process.