Cache user memberships

This caches the membership statuses in the session user object. The marshaled
user object printed as YAML contains the memberships as follows:

warden.user.default.key: !ruby/struct:Warden::GitHub::User 
  attribs: 
    [...]
    member: 
      org_pub: 
        rails: false
      org: 
        rails: false
      team: 
        345: true
    [...]
  token: [...]