Stop using a default filename

Functions now take the filename as an argument instead of just using
"test.fs"
Remove references to scope trees in Rename

This should make it easier to modify ScopeTrees
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