Merge pull request #19 from fphilipe/custom-oauth

Custom OAuth2
Always use octokit gem for API

- removes the need to do custom API call
- reduces the number of dependencies
Remove hard json dependency

Octokit does that "since JSON is included in 1.9", thus it makes sense to do the
same and let the 1.8 user use their preferred JSON lib.

Note that it is a development dependency so that the example app runs on 1.8.
Reduce stored user data

This only stores the attributes that are available through the public interface.
Optimize marshaling

- marshal_dump and marshal_load makes sure no unnecessary instance vars are
  marshalled
- don't cache the api for now because of a marshaling bug in 1.9.3
Add specs for User