Cleans up more warts (mostly Option-related)

- if your pattern-match on option has no guards on the Some, let the
other case be explicitly None, this will avail you of the totality
check.

```scala
  case Some(x) if (condition) => ...
  case _ => ...
```

 is ok, and so is the case where x is replaced by a refutable pattern. But

```scala
  case Some(x) => ...
  case _ => ...
```

 is usually more safely written

```scala
  case Some(x) => ...
  case None => ...
```

- Don't hesitate to use foreach, exists, map, forall, orElse, getOrElse on Options
  http://blog.tmorris.net/posts/scalaoption-cheat-sheet/.
Merge pull request #662 from huitseeker/issue/morelints

Cleans up more warts (mostly Option-related)