Proper pretty-printing of dependent pairs

 * Dependent pairs are properly highlighted as either constructors or
   types
 * Names bound in dependent pair types show up as bound in their scope
Highlight variables from error context as bound
Show error contexts with pretty-printer
Fix filename case in test run scripts

This causes them to properly clean up IBC files after them on
case-sensitive filesystems.

Fixes #866.
Add Uninhabited to Prelude

Fixes #859.
Improve search for dynamic libraries

Now, dynamic libraries are searched in these places:
 1. Current working directory
 2. Current import paths (for example, from loaded packages)
 3. The system paths for dynamic libs

Fixes #861.
javascript: init local constructors
javascript: eval constructors during compiletime
javascript: collapse some more tailcalls
javascript: collapse continuations
javascript: collapse continuations
Fix for metavariables in type declarations

Allow multiple, with later allowed to depend on earlier
javascript: collapse nested continuations
javascript: recognize more redundant continuations
Record partial type inference info

Proof search now has access to this and can fill in some basic type
information. Lots still to do though (especially dealing with type
classes, properly spotting errors, and polymorphic type variables).
Some improvements in finding inference constraints
More consistency checking on inference constraints

Also added a test for simple interactive type inference
Merge pull request #867 from david-christiansen/test-case

Fix filename case in test run scripts
Merge pull request #869 from david-christiansen/dynamic-lib-search

Improve search for dynamic libraries
Merge pull request #870 from raichoo/javascript

Javascript