Match header names, not just values

This change ensures that to satisfy header expectations the incoming request must have a matching header name and value, not just value. The fix resolves a bug in which the following expectation:

```
.withHeader("a", "value")
```

Could be satisfied by supplying a header value:

```
b: value
```

(`git show -w` may make the exact change more apparent)