Added haddock comment for `Core.TT.tcname`
Moved information from comments to record field names.
Clarify an initially-confusing point about `Binder`
Changed the name of a pattern variable in one case of `termsize` to be more congruent with the other cases
Explained motivation for some cases in `termsize`
Adding haddock comments to `instantiate` and `substV`. Also clarified the third paramater of the `P` constructor for `TT`.
Added haddock comments to a number of TT name manipulation functions
Adding prefix to new record field names
Changed my haddock comments to use proper markup
Fixed typo: "unform" --> "uniform"
Added haddock comments for most of the rest of the functions in `Core.TT`
Added some clarification of the purpose of `PVar`
Don't use a record for SourceLocation
Explained the motivation of the name `P` for named references
Command line option improvements.

+ Added new flag `--checkpkg <package>` to type check only packages.
   + executables are not linked
+ Improved usage info styling
+ Added unmentioned flags added
Fix memory leak

It turns out that having H.catch around too large a block means that
state is retained. In particular, having the catch around a recursive
application of the REPL means that all previous states get retained! So,
be careful to scope catch blocks around the smallest possible block.
Minor memory usage improvements

* Don't store internal definitions if we're not starting a REPL, since
  they won't be used for interactive editing
* Use a strict map instead
* Clear original pattern definitions since they are only used for
  termination/coverage checking
Use Data.Text for variable names

An experiment: it appears to reduce memory usage and speed things up
slightly, but in its current form breaks type providers and :x. I am
stuck on working out what's wrong, so if anyone can see what the problem
is, please do let me know and/or fix it!
Strictness annotations

Improves execution time slightly by using Strict state where
appropriate, and strict constructor fields.
Make more fields strict