REFACTORING: No Sage AST object references in AST attributes.

AST objects may be copied and updated during translation, so
AST references in attributes need to be kept updated explicitly.
Instead of such a fragile design, this refactoring removes
most of such references in AST attributes and introduces
attribute references. AST attributes are automatically copied
when AST nodes are copied, so they should be kept consistent
across AST translations.

However, there seem to be several cases where attributes are
not ratained. Kernel inlining is one such example. The
doInline function does not seem to keep attributes for the
callee function parameters.