Remove some code from ScopeAnalysis

Now it only contains code for building scope trees.
Separate CodeAnalysis into two files

One for ScopeAnalysis and one for RangeAnalysis.
Rename CodeAnalysis.fs to RangeAnalysis.fs
Make ScopeTrees generic

So that I can have IdentifierScopeTrees and ModuelScopeTrees for
example.
Add a file for ModuleScopeTree
Code and test to create scope tree for a module declaration
Code and test for declarations with nested modules
Code and test for multiple namespace in scope tree
makeModuleScopeTrees for modules and namespaces

In various combinations.