Reasoning differently about functions and expressions

New concepts
------------
* Constant Expression: function with no arguments, returning the same result
  with each invocation
* Lambda: function taking one argument
* Function: function taking multiple arguments, curried into chain of lambdas

Key changes
-----------
* The "main" function is no longer automatically declared: only declared
  functions exist at the top level
* Removing "sequence expressions", now only "expressions" are supported