Improve Koauth_OAuth2_Request class to handle internal requests

* Make headers upper case
* Make sure we pass request method
* Make sure $post is an array if possible
Import test: Expect users output too
Import Test: Mock Session class to avoid weird session exceptions
Import: Check HTTP status codes and show in error messages