Support four part versions, and prevent the code from working if your version number isn't in a supported format. Will prevent an erroneous versionCode of 0 when using a version number format that isn't supported by this function.
Merge branch '3-5-stable-android-version-code' into 3-5-stable