remove template haskell dependency in favor of cabal's CPP macro

It's possible to have gotten the wrong ghc version with the old method,
if somebody does `cabal install IHaskell --with-ghc=/path/to/another/ghc`
Fixing linting CSS/html to wrap when long code lines are used
add monoid instance for Kernel to avoid some duplication.

data-default may be prettier instead, since there isn't a canonical
mappend.
fixing tests and line numbering of code blocks
load ihaskell-* modules which depend on the correct version

I ran into a problem with old IHaskell-display packages causing trouble,
this is closer to an ideal solution.
.ghci file interfered with Hspec.hs:

Typing the following things failed due to Prelude things missing:

    cabal repl
    :load Hspec.hs
    main
use LINE pragmas in the file generated for HLint
merge
move IHaskell stuff to src/
Merge branch 'master' of https://github.com/aavogt/IHaskell

Conflicts:
	src/Hspec.hs
doesn't use pip for installing, only downloading
fixing python3 bug and weird highlighting bug
fixing wrong . marking, closes #78
removing config.hs, its old
changed some dependency orderings
Special-casing some error messages line wrapping, closes #76
fixing slow evaluation of displayable data (b/c it was printing)
Changing :set to be useful. :set [no]lint, :set no[svg].
Merge remote-tracking branch 'upstream/master' into path_completion
implementing :set show-types