Pass Exception by name in Option.getOrThrow
Pass Exception by name in Map.getOrThrow
Added A.cond[B](Predicate[A], A => B, A => B): B
Added List[A].unconsC[B](B, A => List[A] => B): B
Added List.batchBy[B](A => B): List[List[A]], closes #97
Merge branch 'master' into 2.9

Conflicts:
	core/src/main/scala/pimpathon/any.scala
	core/src/main/scala/pimpathon/option.scala
	core/src/test/scala/pimpathon/list.scala