Rework project parsing approach.

This is much cleaner now. The main feature is that we can now use
projects that import other projects and the dll references are
resolved correctly. A test still needs to be added to demonstrate
this.