Wrote a new kind of Machine to allow merging streams

* I don't think it is possible to perform an in-order merge on two ordered
  streams given the default data types of Data.Machine, so I added a new
  one that allows looking ahead at the next yielded value on the left or
  right to see if it exists. An extension of the Wye machine. Have to be
  careful to not create infinitely looping Plan's using this, will think
  about possible better implementations
* Also added a merge streams methods with appropriate quicktest