Experiments with removing outer.outer sequence.

outer.outer … seems to be needed in calls, but is wrong
in inherits statements.   Maybe this is a bug in the way that
closure vars are collected by the C backend?

Also corrects spacing in generated C code, and adds logic
to identifierresolution to detect ambiguous names.

Fixes some types in collectionPrelude.