add `map` and `flatMap`
add `map` and `flatMap`

This allows you to do something like

```
let result: Result<JSONObject> = // JSON blah blah blah
let userResult = result.map { User(object: $0) }
```

octanner/ios-network-stack