Refactor tests
Added Map[K, V].get(Option[K]), closes #36
Added Map[K, V].containsAny, closes #35
Renamed InputStream.read & OutputStream.write to drain to allow named parameters
InputStream.drain shouldn't suppress exceptions during draining