Use wrapper for http requests instead of using HttpRequest directly.

* Add AuthenticationException which is thrown on unsuccessful login
* Add headers to BankRequest
* Move DefaultBankResponse to test package and renamed it to MockedBankResponse
Move username and password properties to parent class
Use wrapper for http requests instead of using HttpRequest directly.

* Add AuthenticationException which is thrown on unsuccessful login
* Add headers to BankRequest
* Move DefaultBankResponse to test package and renamed it to MockedBankResponse