Use pcase in option cell substitution

Also call option filters for all variable values, including `nil`.
Use `case` instead of `cond`

Simplifies the expression a bit.
Use cl-lib now instead of cl

Works fine under Emacs 24.3, but needs an additional compatibility
library on earlier releases.  Thankfully, package.el handles this for us.