Sharath teams visibility fix

Currently, all of a user's teams are listed, even the non-publicly-visible ones.

This fix
1. Hides the non-public teams, except that a user can view his *own* non public teams,
2. If X is viewing the profile of Y and if X and Y are part of a private team T, then T is visible to X