NEW/API Multiple workflows attached to one object

This changes the relation from a WorkflowApplicable to 
WorkflowDefinition from has_one to many_many. This means that any call
to getDefinitionFor() and getWorkflowFor() now returns a SS_List that
will be needed to iterated through.

There were some tweaks to the AdvancedWorkflowExtension to support
Comments and Actions per workflow. So that commenting / starting /
updating a workflow leaves any other workflows alone.

The weakest point is around file-based workflows and permissions, I've
tested it for several hours. But since there are no tests or
documentation on how the permissions should work, I can't tell if it
still works as intended.