Implementing support for multiple workflow definitions.

This is a similar concept to the following pull request, however more focused on triggering only a single workflow instance at a time (from multiple that may have been assigned).

https://github.com/silverstripe-australia/advancedworkflow/pull/99/files

![0](https://cloud.githubusercontent.com/assets/3703500/4820997/54b191a6-5f22-11e4-8ee9-a2d0f63c8667.png)

![1](https://cloud.githubusercontent.com/assets/3703500/4820998/5aff7b0e-5f22-11e4-90f5-422850fc259a.png)

@nyeholt