Cabal library

I've been working on a language which uses TT. I was going to write a compiler but then I realised that Idris has all the machinery already, if only I could use it as a library.

This PR moves Core to Idris.Core and exports all of Idris and IRTS as a Cabal library. Lots of files touched but nothing more than updating module names.

```haskell
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
```

The second step will be to move the externally useful parts of Util to Idris.Util so we can use Idris' data directory, etc.