Try new symbolsDirectory path if first one doesn't exist

In newer version of the Android Gradle Plugin, the path to the symbols directory is slightly different
Use new getMappingFile() API and update to gradle 2.1

This matches the gradle version with that used in in Android Gradle Plugin 0.13.+, and adds support for retrieving the mappingFile directly from the task, while maintaining support for iOS and non-android-gradle-plugin projects via symbolsDirectory
Do nullchecks the groovy way

NOTE: Groovy truth means that a collections object will return false if it is null or empty
Use nullable checks where appropriate