Framework changes and hook up roles

Needed to make some simple changes to the DMVC framework in order to
properly support the query of join tables. Beyond that, made it possible
to link a user, a 'task-like object', (project, feature, task), and a
role.

This is an important feature, because we want to be able to assign
multiple users to a single item, but within the context of a particular
role.

Of course, the idea of having multiple roles suggests the potential for
role-based workflows, which means that multiple workflows may be
assigned to a single item...wicked.