Use common code to find references in AddArgument

This removes all the references to ScopeTree nodes in AddArgument.
Create an IdentifierScope class

With test and implementation of IdentifierScope.IsFree (just reuses the
ScopeAnalysis implementation for now).

Also moved tests regarding scoping into their own file.
Add the remaining methods to IdentifierScope

Haven't written any tests yet, because the implementation juste reuses
ScopeAnalysis code.
Make Rename use IdentifierScope instead of makeScopeTrees