Fixed the Search monad warnings by adding instances.

Fixed the Search monad warnings by adding instances for Functor and
Applicative following
http://www.haskell.org/haskellwiki/Functor-Applicative-Monad_Proposal.

Also fixed coding style according to the Snap style.