Rerun suite after code generation

Automatically reruns the tests after class or method generation:
![rerun](https://cloud.githubusercontent.com/assets/237866/4035941/0f38bc18-2c95-11e4-97b8-4f27b1b2f3a2.gif)

This behaviour can be disabled at the CLI with the new flag `--no-rerun`, or the existing `--no-interaction` or `--no-code-generation` flags (because code generation events will in that case never happen). This behaviour can also be disabled with `rerun:false` in `phpspec.yml`.

This has different resource impact depending on platform:
* Pcntl - on POSIX systems the current process is abandoned and a new one started in the current process space - there is no overhead in this case.
* Passthru - the fallback for non-POSIX systems (e.g. Windows), this starts a new process for each rerun. This could in theory lead to tens of processes; all will terminate after the last suite run.