Verifier for first party exact caveats

This adds verification for first party exact caveats (general coming soon).

Example:
```ruby 
m = Macaroon.new('http://localmed.com', '456', '123')
m.add_first_party_caveat('caveat_1')
v = Macaroon::Verifier.new()
v.satisfy_exact('caveat_1')
v.verify(macaroon: m, key: '123')
=> true
v.verify(macaroon: m, key: '126')
=> StandardError: Signatures do not match.

v = Macaroon::Verifier.new()
v.verify(macaroon: m, key: '123')
=> StandardError: Caveat not met. Unable to satisfy: caveat_1
```
@petebrowne @joeljames