adding hooks for the request phase, callback phase, and options call

added a hook so that a block could be executed with the current env when a request or callback is made. This enables things like tracking how many users begin the auth process on the backend, altering the env variable etc.

to configure, simple pass in a block to the config object:
``` ruby
OmniAuth.config.on_request_hook do |env|
  #do stuff here with the request phase env
end

OmniAuth.config.on_callback_hook do |env|
  #do stuff here with the callback phase env
end
```