Type system and framework changes.

Changed the way 'val' is handled, to push it into to the type initially, then
pulled out when declaring specific things (NVALDECL, NVALABBR).  Other small
updates elsewhere.
More expression handling for Guppy.

Initial support for functions that return stuff, and a 'return' statement.
Started adding type-checks for things like operators (incomplete).