build.gradle: Refactor of productFlavors

So now we aren't duplicating a bunch of buildConfigField values.
Note: There is a modification of gradle.properties to work with these
changes.
Merge branch 'refactor-product-flavors-definitions' into offline-guides