Allow manually restaging an app

Allows requesting a restage using ?restage=true on a PUT request which
would normally cause an app to be started. This means a user must stop
and start the app in order to restage, which avoids edge cases where two
versions of the app might end up running.

Diego may change this behaviour by allowing a restage without restarting
an app. I assume this will also require API changes to allow an apps
code to be updated (rather than restaged) without a restart.