Refactor and extend work package watcher spec
Rename work package watcher spec
Add further specification for watchable#possible_watcher_users


Failing spec: Anonymous users are returned for public projects (see bug #416)
Make output for shared example in work_package_acts_as_watchable spec more readable
Add more strict specification - non members and anonymous users cannot watch work packages in private projects...

... even if the non member role respectively the anonymous role have the permission to view work packages (WIP)
Ensure work_package#project is refreshed in private project context of work_package_acts_as_watchable_spec
Restrict watchable#possible_watcher_users to non-anonymous users

Fixes #416
Add TODOs to watcher model and comment to project factory


- watcher.rb: informative validation messages are missing
- project_factory.rb: project sub factory for public project doesn't differ from project
Fix indentation in user factory
Specify that admins should also be able to watch work packages in private projects
Merge pull request #530 from opf/bugfix/416_possible_watchers