Catch 'does not exist' error when searching library paths.
Fix 'eqv' crash with different-length vectors.
Fix whitespace.
Add 'tab' function.
Test range functions.
Test 'splitAt'.
Add scan functions to prelude
Move backtracking to a slightly saner place.
Require programs to accept an empty initial stack.

Closes #55
Remove unused 'Typed' AST.
Reinstate row-scalar kind distinction.

Disable 'impure-from-pure' and 'underflow' tests because the
error messages aren't consistent enough to be testable.
Replace 'apply' and 'call' with magical variadic builtins.
Allow constant definitions without type signatures.
Add basic choice and option types.
Improve naming conventions.

* 'get', 'set', and 'modify' are now '#', '#!', and '#@',
  respectively. This is partly for brevity, and partly to
  match the impure connotation of '!' and the "application"
  sense of '@'.

* 'get2' and 'set2' are '##' and '##!'.

* The type suffixes have been expanded because the
  single-letter versions were too opaque. E.g., 'showi' is
  now 'showInt'.

* The v-suffixed functions are now pluralized to reinforce
  the assocation between vectors and plurality. E.g.,
  'showiv' is now 'showInts'.
Add absolute-value functions.
Add 'headTail' and 'transpose'.
Update 'max' and 'min' family of functions.
Fix broken 'levenshtein' test.
Improve performance of 'cartesianWith'.