Simplify scope handling code

It's official: scopes are immutable in Pinkie.  This means functions
can only refer to variables declared above themselves.  For example,
this will work:

    x = "hi"
    f = { x }
    say (f ())

but this will not:

    f = { x }
    x = "hi"
    say (f ())

I don't envision this to be a great disadvantage.  Mutally recursive
definitions can be declared using a fixpoint combinator anyway.