Allow endpoint to be set with options[:endpoint]

In the case of exchanging a code for an oauth token in the oauth process we
need to be able to point octokit to github.com instead of api.github.com.
Instead of jumping through hoops, this commit simplifies the process by
allowing the endpoint to be passed as an option.

Currently
  Octokit.get '/'
  => GET https://api.github.com/

This Commit
  Octokit.get '/', {:endpoint => Octokit.web_endpoint}
  => GET https://github.com/