Add process1.(maximum|minimum)(|By|Of)

This adds the following on process1:
 - maximum
 - maximumBy
 - maximumOf
 - minimum
 - minimumBy
 - minimumOf

These emit a single value if their input is non-empty, and no value if it is
empty. They are similar to the functions on scalaz.Foldable:
https://github.com/scalaz/scalaz/blob/scalaz-seven/core/src/main/scala/scalaz/Foldable.scala
Align maximumBy with scalaz.Foldable.maximumBy

before:
  Process("ab", "cd", "ef").maximumBy(_.length) == Process("ab")

after:
  Process("ab", "cd", "ef").maximumBy(_.length) == Process("ef")
Use the Sink type alias
Remove unused java.io.File import.
Fix typo: Bytes -> Byte
Merge pull request #123 from fthomas/docfix

Use the Sink type alias in io
Merge pull request #116 from fthomas/maxmin

Add process1.(maximum|minimum)(|By|Of)
Merge branch 'master' into scodec-bits

Conflicts:
	src/main/scala/scalaz/stream/io.scala