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
```
Merge pull request #166 from joelittlejohn/header-matching-name

Match header names, not just values