Adding ability for the Application and Version information to be overridden for deployment and all other operations

Use Case:
We are using our CI server's to push our application to multiple environments and do not want to create custom tasks to programatically edit our appengine-web.xml
This change allows us to pass in a project property to override the app engine application id and version number.
Since this information can be used for all the tasks, it made sense to move it up into the appcfg closure and rename the existing app closure to download.