Avoid leaving Vagrant processes running when receiving an interrupt signal

Previous versions were naive; when the Derelict process was killed (e.g. Ctrl-C sending SIGINT), if Derelict was currently waiting for a Vagrant process to finish, it would leave the Vagrant process running. The user would then either have to kill Vagrant manually or be frustrated and wonder why other Vagrant instances said "another instance of Vagrant is operating on this machine" etc.

This change ensures that while Derelict is waiting for Vagrant to finish, any SIGINT signals get forwarded to the Vagrant process. Vagrant uses a similar mechanism internally when executing commands.