Solidity for multiple files and multiple contracts per file.

This could be a function of Source. Maybe next pass?
We have AST pointers. Theoretically we could do a symbolic find and replace for refactoring (and other cool things)?