Maven Dependency Improvements
Previously, an update the build system resulted in the Maven dependencies being aggressively calculated, before each project add dependencies to itself. This change updates the ordering of this calculation such that it happens after each project configures itself. In addition, this change goes through each project and ensures that the dependencies are scoped appropriately in order to achieve the a minimal and accurate Maven POM.