Module issue

There have been several issues with module loading/aggregation. From what I was able to tell, this was because of events firing before they should. I used Q to make a solution that makes sure everything is done before firing the `modulesFound` event. This is still rough, and I know that we may not want to add a dependency, but I want to see what others think.