Add Enumeratee.flatten

Iteratee and Enumerator companion objects have both the `flatten` function to flatten a Future of _ into a _.

This pull request propose to also have the `Enumeratee.flatten` function.

Exemple:

```scala
val someFutureObject = future { 1 }
val myEnumeratee = Enumeratee.flatten {
  someFutureObject map { value =>
    Enumeratee.map { (i: Int) => i + value }
  }
}
```