Refactoring startApp to add callback as a parameter and removing redundant varaibles

-Refactoring startApp to add callback as a parameter and removing redundant varaibles.
-Related to [#2026] (https://github.com/appium/appium/issues/2026)
I have cloned startAppOptions but still have null check in place , @jlipps any ideas if we still need the null check, since defaults will only handle undefined, it was explicitly commented about the null check.