Adding the various dependencies as submodules will allow easy version control for Aurora users. This should also simplify the build, because the locations of the dependencies will not vary from user-to-user (except for advanced users, who can of course still point to out-of-tree dependencies if desired).