Updates to GUIDE
#[], #[]= modify fields; nickname immutable

The square bracket accessor and writer should not modify params - while
Ruote lets us modify these, they're exactly what they sound like
(parameters for the expression) and shouldn't be the default hash
modified through the Task's delegating #[] methods.  Instead, these
should modify "fields," which correlate to the payload data on the
workitem.  Also, the nickname, while it originally comes from the 'task'
param, should be immutable, even if that param is manually modified;
changing what the requested activity is dynamically should happen via
process modeling.
Only generate Tasks for workitems w/ 'task' param

Only expressions in the form of `role :task => 'task_name'` (that fall
into the storage) should be converted to Tasks when using the collection
init methods.  Also removed `to_task` lambda in favor of
`#from_workitems` - having a method called `to_task` on Task that
actually generated a lambda that ostensibly operates on a workitem, not
a task, is very confusing.  Also this way we can reject at the time of
workitem lookup, rather than after instantiating Tasks.