Upgrade to Android Studio 3.1
This branch updates the build scripts to work with version 3.1 of the Android Gradle plugin.
Since version 3, the Android Gradle plugin uses variant-aware dependency resolution. The old way of declaring dependencies on Android projects, by specifying the path and configuration, no longer works. This may explain the intermittent build issues since upgrading to version 3, such as building APKs with stale versions of bramble-android, and missing dependency errors in Android Studio that were resolved by building on the command line.
This branch switches to the new way of declaring dependencies on Android projects. Unfortunately this is incompatible with the previous version of Gradle Witness, which tries to resolve all dependencies of each configuration. So this branch includes a new version of Gradle Witness that skips internal project dependencies. This means that if project A depends on project B, dependencies of project B that aren't also declared as dependencies of project A will be listed in B's dependency verification block but not A's. That's fine because they'll still be verified when configuring project B.