Add superclass info to ClassDoc and output it in pprintDocs (:doc command)
incremented blaze markup version
Stop building packages if there are totality mismatches

This is to stop libraries from preventing executables to build later.
Merge pull request #1215 from david-christiansen/totality

Stop building packages if there are totality mismatches
Merge pull request #1216 from jeffersoncarpenter/blaze-markup-version

incremented max allowed blaze markup version
Move interactive commands to their own module
Fix if - operator precedence mistake, fixes #911
Propagate bound implicits to record updates

Fixes setter warning when building Control.Monad.Writer
Add Data.List to base

Currently just includes 'Elem' and 'isElem' to decide membership.
Remove spurious error from 'setter' warning
Move 'mkNo' to a where
Correct filtering for subclasses in pprintDocs (fixes #1212)
Correct filtering for subclasses in pprintDocs for multiparameter subclasses
Fix List.split

This commit makes List.split behave a bit more sane and elegantly.
Currently split has the following behaviour:

  0: split (== ':") "foo"   -> ["foo"]
  1: split (== ':") ":foo"  -> ["", "foo"]
  2: split (== ':") "foo:"  -> ["foo"]     (!!)

  3: split (== ':') ":foo:foo"   -> ["", "foo", "foo"]
  4: split (== ':') ":foo"       -> ["", "foo"]
  5: split (== ':') ""           -> []     (!!)

Cases 3 and 5 are the problematic ones. I would think they would result
in ["foo", ""] and [""] respectively. This patch gives split this
behaviour, it also gives split the nice property that the length of
(split ':' str) is (1 + the number of colons in str)

I've looked at the uses of split in the prelude and none of them seem to
be effected by this change.
Merge current master into fix/911- branch
Add primitive for stdout, stderr
Add :makelemma command in interactive editing

Given a metavariable and a line number, add a new top level function to
solve that metavariable, and fill in the metavariable with an
application of that function.

e.g. given

  plus_commutes : (n : Nat) -> (m : Nat) -> n + m = m + n
  plus_commutes Z m = ?pcrhs_Z
  plus_commutes (S k) m = rewrite plus_commutes k m in ?pcrhs_S

:makelemma on pcrhs_S will update the file to

  pcrhs_S : (k : Nat) -> (m : Nat) -> S (plus m k) = plus m (S k)

  plus_commutes : (n : Nat) -> (m : Nat) -> n + m = m + n
  plus_commutes Z m = ?pcrhs_Z
  plus_commutes (S k) m = rewrite plus_commutes k m in (pcrhs_S k m)

where pcrhs_S can be built interactively in the normal way.
Tidy output of :makelemma
:addclause now adds template bodies to instances
Update CHANGELOG