Refactored FacebookManager

user models info from opengraph (and permissions info) can now be updated on any user without the user having to be the logged in user.

Also the FacebookSession object is now only ever retrieved at most once per user per request and is cached.