Refactor for clarity, and consistency with other friend workflows.

Refactor workflow to make it easier to understand and follow.
Update dependencies to make lein-pedantic happy.
Use friend's standard keyword args calling convention for the workflow, i.e (workflow :foo "bar") not (workflow {:foo "bar"})
Passes all midje tests.
NOTE: the examples project needs to be updated to use the proper workflow calling conventions.

I didn't update the version number, but if you want to use these changes, you'll probably want to bump the version.