Add Choose.xmap

Choose.xmap provides a simple way to create a Choose instances from an
isomorphic type with a Choose instance. For example, to create a
Choose[Date] based on the existing Choose[Long], one could write:

```scala
implicit val chooseDate = Choose.xmap[Long, Date](new Date(_), _.getTime)
```