Add Xeroizer::GenericApplication.default_headers

Add the ability to send custom headers with Xero API calls

This is what we're using:
```ruby
Xeroizer::PartnerApplication.new(
  ENV["XERO_CONSUMER_KEY"],
  ENV["XERO_CONSUMER_SECRET"],
  "#{CERTS_DIR}/privatekey.pem",
  "#{CERTS_DIR}/entrust-cert.pem",
  "#{CERTS_DIR}/entrust-private-nopass.pem",
  default_headers: {
    'User-Agent' => "MyApp/1.4 Xeroizer/#{Xeroizer::VERSION}"
  }
)
```

This is a redo of #132 but from a git branch