Merge pull request #1422 from fread2281/master

Add Functor Monad and Applicative id instances
Removed unnecessary backtracking in REPL command parsing making errors
harder to understand
Fixed wrong handling of whitespace between commands and arguments
Merge pull request #1424 from ahmadsalim/improvement/replcommandsbacktracking

Fixes backtracking in parser of REPL command
Add tactics "skip" and "fail"

"skip" does nothing, while "fail" produces an error. They have
corresponding reflected versions Skip and Fail. Fail has access to the
pretty printer by taking a List ErrorReportPart as its argument.
Merge pull request #1425 from david-christiansen/fail-skip-tactics

Add tactics "skip" and "fail"
Split out typeclasses into identity-less versions