Don't run Makefile rules in parallel

Fixes issue #43.
Add '99 bottles of beer' example.
Always add current directory to prelude search paths.
Don't show location indent level.
Ensure definitions have type signatures.
Display candidate information on ambiguous/missing overload.

Closes #28
Merge pull request #44 from strager/i43

Don't run Makefile rules in parallel
Accumulate resolution and typechecking errors

Errors are aggregated where possible and sorted when
printed. This matches the error behaviour of many compilers
(e.g. GCC and GHC).

Fixes issue #29.
Perform global type inference with annotated definitions.

 * Type functions as multi-input, multi-output.

 * Disallow quantifying over row types.

 * Obviate the need for higher-rank function types and
   polymorphic recursion.

 * Do not annotate the AST; this will be fixed later.

 * Remove overloading.

 * Bring prelude up to date with latest changes.

Closes #33.
Change escape character to backslash.
Separate declarations from terms.
Add '__apply01' builtin.
Add '__exit' builtin.
Add some prelude functions and require 'then' in 'if'.
Update examples.
Remove old typechecker.
Move vector relationals to prelude and reduce punctuation.
Update 'beer' example.
Fix types of 'map' and 'mapFrom'.
Verify inferred against declared types and kill dead code.