Stop relying on Show for terms

Instead, use prettyShow, a new alias for singleLine (whose name is
questionable anyway).

This will allow adding 'deriving Show' for use in development.

We still create a Show instance based on pretty printing in some tests;
arguably they should switch to this future Show instance, to show all
nitty-gritty details of the inputs triggering failures.
Merge pull request #78 from Blaisorblade/topic/split-show-pretty

Stop relying on Show for terms
Simplify Show derivation

On my GHC 'deriving Show' produces the same effect as this standalone
instance.
Check components of assertions (fix #74).
Add 'deriving Show' for syntax & values for REPL

Also, remove duplicate `Show Term` instance in tests.
Update DEVELOPMENT.md for Show instance
Clarify DEVELOPMENT.md: GHCi is not needed & misc

On suggestion by Tillmann.
Allow getting module contents from REPL

This separates the phase which selects exported symbols among all
defined ones.

This also updates docs.
M ↦ Eval for clarity

Discussed with Tillmann. My main reason to fix this is for `:browse` in
`cabal repl`.
Autodetect literate files (fix #58)

Does not act on #55.
Syntax cleanup

I like Applicative syntax better.
Simplify filterRet
runM ↦ runEval

For coherence with M ↦ Eval.
Avoid Show instance for function type with type synonym

As suggested by Tillmann.
Detect literateness only for .pts and .lpts extensions
Fix bad typo in COC instance

Introduced in 5ba040a19d5bcc57ab521a2920cd8b373387670a.
Prevent 'Show TypedTerm' instance from looping

I rewrote it by hand following the showsPrec docs.
Tests would be helpful, but meanwhile observe this:

> wrapTypecheckPull [pts|*|] [] Nothing
Right (MkTypedTerm (Const (C 1)) (MkTypedTerm (Const (C 2)) <self>))

`wrapTypecheckPull` is coming in next commits :-)
Provide non-monadic wrappers for typecheck*

Also, move other wrappers to PTS.Interactive - the only argument against
that was not copying all the needed imports, but now we need that
anyway.

Additionally, it's good to put these wrappers together because they are
similar and need to be maintained similarly (for instance, they share
the handling of options).
Move comment and tag it as outdated
Syntax cleanups