Additional TaskQuery options

Added the following with test methods
taskAssigned() to select tasks that are assigned
taskOwned() and taskUnowned() to select tasks have or don't have an owner 
taskInvolvedGroup() and taskInvolvedGroupIn() to select tasks that a group or groups are involved in
taskInvolvementType() to select tasks based on identityLink type

cache candidate user groups