deployment: Fix hard reset for reboot to rescue.

This is particularly annoying if you have a dead server and want to put
it in rescue, so in order to do that you either needed to change the
deyloyment state or reboot manually into rescue using the robot
interface or something like hetznerctl.

Now it's possible to do that simply by:

nixops reboot --hard --rescue --include=deadmachine

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
hetzner: Always hard reset on destroying machine.

We're going to kill off the machine anyway, so why should we try to send
a reboot command using SSH?

Especially useful for getting rid of dead machines.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Add support for shared folders in VirtualBox

You can mount host folder on the guest by setting the
deployment.virtualbox.sharedFolders option.
Retry setting Route53 DNS records on PriorRequestNotComplete

For NixOps-managed networks with a lot of machines, the Route53
processing can often be too fast. As mentioned in the documentation [1],
Route53 can only process one request at a time per hosted zone, and
changes.commit() returning does not necessarily imply the request has
been processed.

Instead, we use a retry loop with 3 retries with a 500ms sleep between
each request. This should give AWS enough time to process the
requests. If not, an exception is thrown, which matches the current
behaviour.

[1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html
try prefix match if no uuid is found in Deployments

allows to run stuff like
% nixops deploy -d 63 	# while uuid is 63147f87-bbb4-11e3-b8ac-8c2937e6c6de
Merge pull request #177 from ocharles/master

Retry setting Route53 DNS records on PriorRequestNotComplete
Merge branch 'uuid-prefix-match' of https://github.com/proger/nixops into proger-uuid-prefix-match