Support adding transition guards from ZCML

Currently, it's not possible to add a guard to a workflow transition unless you're using the Python API, except for a single PermissionGuard that is special cased in ZCML.

This pull request allows <guard /> directives inside a <transition /> directive which populates the guard list with functions specified by a dotted name.