Modular

1. Ensure host contains `.dns` suffix. If it doesn't, ensure `Blockchain` header contains `.dns` suffix. If neither contain it, return `400 Bad Request` and log a warning that displays the request and client IP.
2. Strip any subdomains off of the header that we're using (either host or blockchain header as per step 1).

For example, this code will set `blockchain` to `namecoin`:

```coffeescript
[..., blockchain] = S('api.namecoin.dns').chompRight('.dns').s.split('.')
```