Add a defvar construct which does not add a constant to the local context and is called by default when declaring variables using the form

x = T('x')

Where T is a type.
Various cosmetic improvements to the code.