Functor and Applicative instances

There are some types in Cabal which are instances of Monads, but don't have a Functor or Applicative instances. This pull requests adds these instances, as all Monads are also Functor and Applicatives and thus should have these instances.