encapsulated logic for how chat group names are formed from task IDs
streamlined the chat group from task name methods
Added user state tests and code, which resulted in changes to Cuke
features and step defs that try to set or examine what chat group you're
in: now, it's an error to try to assign you to a chat group unless the
chat group name really is linked to the other tasks, since the
user_state logic in TasksController will rely on this.
Added Transforms to make the cuke tests human-friendly in light of this change.