Support a user-specified SSH username.

This commit enables the user to specify a SSH username for the
provider using the `ssh_username` config attribute. For the initial
droplet creation and provisioning, the provider will fallback to the
`root` user. On subsequent execution of Vagrant commands, the
specified SSH username will be attempted instead. The user should
create the SSH username account during the provisioning process.

Additionally, better state checking for a droplet was implemented.
If a droplet is already active, calling `up` will have no effect. The
same is true when calling `destroy`, `provision`, or `rebuild` after a
droplet has been destroyed.

Closes #23 and #25.