Add recursive lookup through context stacks
Add recursive lookup through context stacks

This allows us effectively to manage scope. Specifically
it says 'look in the current context, return if it's in there'
and 'if it isn't, search parent context'. The root parent
context is either empty OR it's a profile context.

In order to assist with debugging, for the moment if a name
cannot be found, the system comes back with a list that
contains the 'complete_context' which is a list of enclosing
scopes.

This is in part an attempt to solve putting names/types/values
into profiles, and also an attempt at creating better user level
error messages

sparkslabs/pyxie,sparkslabs/pyxie,sparkslabs/pyxie