Allow functions to be declared as error handlers
Fix comment syntax for highlighting
Add ErrorHandler Binary instance
Proper checking for language extension
Added data options
Eliminators working for some type - still experimental. Will create a way to make them work with the elim type class
Fixed testing failures I accidentally introduced when showing a better naming for machine generated names (so that I could better debug)
Tutorial changes.

+ Tutorial is now developed in a separate github repo.
+ Moved examples to top-level
+ Added binary of tutorial for v0.9.10
Fixed malformed haddock comments
Merge pull request #685 from jfdm/tutorial

Tutorial changes.
Generate Haddock as a part of testing
Merge remote-tracking branch 'jfdm/haddock' into haddock-on-test
Some interactive editing fixes

Case splitting on 'case' expressions fixed, and 'with' now
generated more neatly.
Merge branch 'master' of github.com:idris-lang/Idris-dev
Add a Cabal library

Moves Core to Idris.Core

The library allows using the Idris' backend from other Haskell code.
For example, we could use Idris as a general TT compiler with multiple
backends:

    run :: Idris ()
    run = do
      let ddir = "libs" -- TODO: Use Idris.Util
      addImportDir $ ddir </> "prelude"
      addImportDir $ ddir </> "base"
      elabPrims
      _ <- loadModule stdout "Builtins"
      _ <- loadModule stdout "Prelude"
      pterm <- fmap (flip delab program) getIState
      elabDecls toplevel [makeDecl pterm]
      compile ViaNode "wow.js" runProgram

Everything but Main, Util, Pkg and Paths_idris is currently exported.
Merge branch 'master' into cabal-library

Conflicts:
	idris.cabal
Replace global-scope helpers finToNat and finToInteger with functions whose type signatures match the names.
Add FinZAbsurd and FinZElim.
Replace Prelude.Vect.take and Prelude.Vect.drop with versions of a saner type signature.
`showCG` should be recursive and not use `show`