Refactor bearer-token methods, and fetch headers

Fix bearer token methods when output format was not set to 'object'
- getResponse() method to get raw response
- getHeaders() method to get headers as array

Headers can be useful to avoid extra requests for rate-limit info.
*   x-rate-limit-limit  (max request per period)
*   x-rate-limit-remaining  (remaining this period)
*   x-rate-limit-reset  (start of next period, UTC timestamp)