Monadic elements dev 2 1

This is the [PR #59 monadic_elements](https://github.com/p2t2/figaro/pull/59) rebased against DEV2.1.
This allows using for-comprehensions with Elements, e.g.
```scala
  val someDouble = continuous.Uniform(0.0, 2.0)
  val someInt = discrete.FromRange(3, 12)
  val tripleFun = someInt.map(_ * 3)
  val product2 = for (i <- tripleFun; d <- someDouble) yield (i * d)
```