Chainable fetch

__Do not review before #89.__

Simpler syntax for `Cache` fetches by using a chainable `Fetch` object.

```swift
cache.fetch(URL: URL).onSuccess { JSON in
    // Do something with JSON
}
```