Placate IntelliJ's code inspections
Added Predicate[A].guard(A => B): PartialFunction[A, B], closes #173
Added List[A].amass(PartialFunction[A, List[B]]): List[B], closes #172
Added (A => B).guardWith(Predicate[A]): PartialFunction[A, B]
Added List[Either[L, R]].partitionEithers: (List[L], List[R])
Replaced use of (A => Boolean) with Predicate[A]
Generalize List.partitionEithers to GenTraversableLike
Added PartialFunction[A, B].partition(CC[A]): (CC[A], CC[B])
Added List[A].partitionBy(PartialFunction[A, B]): (List[A], List[B])
Added CCBF[A, CC[_]] = CanBuildFrom[Nothing, A, CC[A]] type alias
Generalize argument of partitionByPF from List to GenTraversableLike
Add GTL[(K, V)].toMultiMap[F[_]]: MultiMap[F, K, V]

It's somewhat arbitrary where to define 'toMultiMap', it only depends on 'map'
and a CanBuildFrom instance (that actually builds the multimap), but map
is defined on FilterMonadic, GenTraversableLike, & TraversableLike.

So I've changed the list & set pimps to only extend genTraversableLike (i.e. no longer
extend filterMonadic, because otherwise the pimp is ambiguous), but I'm leaving the
FilterMonadic based definition (now no longer extended by anything but it's own companion
object) for backwards compatibility.