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