Conditional vbox guest additions

Check if the VM is running under VirtualBox before installing the Guest Additions. Commits split up by OS to make review easier, as these changes may not be suitable for every OS.

I didn't indent existing code to make the diffs easier to read, sorry if that wasn't appropriate - please suggest any style improvements and I can update the PR with either a new commit or updating the existing commits as desired.

This also doesn't cover some Windows templates as I don't know right syntax for the batch files they use.

This should also fix #754. The problem there is the current script's return code is 1 when the `rm` command tries to remove a non-existent file. There are other ways of dealing with this such as `exit 0` on the script like some of the other scripts do but making GA installation conditional has extra benefits.