heh
Expose set! failure
Environments bind locations

Reverted back to a world where environment binds names
to locations. A little different this time though, as
there are ImmediateLocations and LocalLocations.

Basic idea is the same: ImmediateLocations are dumb value
boxes, while LocalLocations are proxies for quickly indexable
local values with storage owned by the lexical environment's
owning Procedure.
Move ccc/syntax => ccc/base/keywords

In preparation for establishing a 1:1 correspondence
between the ccc.base namespace and the default
environment.
Add base utility code and a simple math library
Add test framework for base library
Oops. Actually wait on async base tests
Add zero? predicate
Fix argument checking in baseUtil
Introduce * and /
Add exponentation (**)
Add integer testing to core
Add integer? predicate
Moar math predicates
Add min/max
Add abs and mod
Add rounding functions
Simplify math wrappers
Add sqrt, exp, log
Trig functions