Squashed commit of the following:

commit fff8c927cd22d85c237c31732e79e1e0628e6a7c
Author: khoa nguyen <huukhoanguyen@hotmail.com>
Date:   Sat Nov 16 17:33:40 2013 +1100

    merging instagram oauth2 middleware into oauth2_header and oauth2_query middlewares

commit 5e20cce7fcbcb35d9a076c39b14c0802b7984d42
Author: khoa nguyen <huukhoanguyen@hotmail.com>
Date:   Sat Nov 16 00:15:59 2013 +1100

    instagram oauth2 middelware
Revert "Squashed commit of the following:"

This reverts commit a90642291b755acfe733637f1186d865a4558320.
make fail and log aware of nil and ignore it

this way, we could much simplify a lot of implementation of middleware
oauth2_header.rb: access_token could be a hash

this partially reimplement #5 for Instagram style oauth2 token,
e.g. Authorization: Token token="original_access_token".
that means, the access token in this case would be:

    access_token = {:token => original_access_token}

checkout: http://tools.ietf.org/html/rfc6749#section-7.1