Feature/fanout store

A store that fans out Key K to a Set of Keys, queries the appropriate underlying stores and sum the values using the Monoid V
The filter can be placed in the reduce function right. Or am I missing something?
```
seq.reduceOption { (l, r) =>
    (l, r) match {
      case (Some(lv), Some(rv) => Some(s.plus(lv, rv))
      case (Some(lv), None) => ..
      case (None, Some(rv) => ..
      case _ => None
  }
}.flatten
```
This also disposes the forall check.

It'd be nice not having to force a Monoid for types where we cannot / do not want to define a zero.