Added flatMap + Monad
Added zip
Added Profunctor instance
Added Arrow[Extractor] instance
Added TravisCI config
Added Extractor.unzip[A, B]: Extractor[List[(A, B)], (List[A], List[B])]
Generalized unzip
Added Unzip instance
Added Extractor.lens
Added Extractor.string.regex
Added Extractor.liftToOption
Added Extractor.all
Added Extractor.exists, renamed all => forall
Generalized Extractor.forall
Generalized Extractor.exists
Added Extractor.pf
Reified some more operations
Added Monoid instance
Added first (alias for orElse), last, append + more monoids
Refactor to make describe easier