Allow access to groups with public projects.

Fixed Group avatars to only display when user has read
permissions to at least one project in the group.
 Merge branch 'feature/public_groups' into 'master'

Public Groups

This is the initial work (meaning no tests) for making groups public if they have a public project (or internal for logged in users). This allows issues and merge requests to be viewed, but _not_ group membership. As part of this I have also added back the link in the public project title section (it was removed as it didn't make sense before).

This addesses the following suggestions/issues:

http://feedback.gitlab.com/forums/176466-general/suggestions/5314461-groups-containing-one-or-more-public-projects-shou
Issue #32
https://github.com/gitlabhq/gitlabhq/issues/5203
as well as a few closed issues.

This also changes the public user page to only show groups that are accessible to the user in some manner.