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: [...]
Improve membership caching

- only cache when member
- timeout cached membership after 5 minutes
Improve user spec
Merge pull request #28 from fphilipe/cache-memberships

Cache user memberships