Move the Aruba helper code into it's own file and fix our invocations of it
Avoid overwriting an existing update-center.json if it exists

That is, unless you say 'y' or you --force it. Tested the interactive query
part outside of Aruba since it's a PITA to make it work with Thor and
Aruba::InProcess. Verified on an actual machine though:

    ubuntu@ip-10-226-175-124:~$ jpm update
    A version of the repo is already on disk, overwrite? [y, n] n
    ubuntu@ip-10-226-175-124:~$ sudo jpm update
    A version of the repo is already on disk, overwrite? [y, n] y
    Fetching <http://updates.jenkins-ci.org/update-center.json> ...

    Wrote to /var/lib/jenkins/update-center.json
    ubuntu@ip-10-226-175-124:~$
Add some cucumber profiles
copypastabetterplz
Expose the status code properly out to the Aruba::InProcess runner
Properly exit out early if `update` with `--offline` is used
First pass at installing plugins which have no dependencies

This commit also includes a number of errorcases from the CLI side of things,
but doesn't actually include much error handling inside of the business logic.

Fixes #2