Refactor: Rename API_APPLICATION_NAME to HTTP_X_APPLICATION_NAME

Changing it to this will make Rails auto-parse it as a header value.  This is
going to come in handy in a few commits when we add Rails request parsing back
to Apill.
Feature: Add AcceptHeader#invalid?
Feature: Add AcceptHeader#to_s
Feature: Default 'allowed_subdomains' to 'api'
Refactor: Make SubdomainMatcher use the config's 'allowed_subdomains'

Now that the config has a default for 'allowed_subdomains' we can use it here
Style: Make whitespace changes
Tests: Set known state before each test

Because we're changing the configuration randomly, we need to make sure that it
is in a known state before certain specs, otherwise we'll get intermittent
failures due to the test being run in random orders.
Refactor: Remove allowed_subdomains argument for SubdomainMatcher

Now that 'allowed_subdomains' defaults to the configuration's
'allowed_subdomains' value, there's no need to explicitly pass this in here.
Refactor: Remove unneeded namespacing
Refactor: Extract request logic into its own class

In preparation for adding the `RailsRequest` back, we're extracting all of the
request logic into a `RackRequest` class.
Feature: Add RailsRequest

Now Apill can process requests either from a Rails ActionDispatch request _or_
from a raw Rack request.