Package management, before & after, config user

Username is not configurable in case you're not hip to using "captain". You
can now insert arbitrary commands before and after the deployment by way of
some variables (which aren't yet in the init logic) and added in support for
composer and npm install's post deploy