support SMB synced folders on non-Windows hosts

The attached patch adds (partial) support for synced folders using SMB when the host machine is not running Windows.

The limitations of the current implementation (compared to the case when the host machine is running Windows) are as follows:

- The IP address of the host machine is not detected automatically, therefore one has to specify `smb_host` explicitly in the `Vagrantfile`
- Since it is quite hard to force a Linux or Mac OS X host to share a specific folder using SMB, it is assumed that the folder that the user wants to mount in the guest machine is *already* shared by the host, and Vagrant will make no attempts to share it to the guest.
- By default it is assumed that the name of the SMB share on the host is equal to the `id` of the synced folder. If this is not the case, one can use the `smb_id` property of the synced folder in the `Vagrantfile` to specify the name of the SMB share.

We have tested the patch using Scientific Linux and Mac OS X as hosts with a Windows 8.1 guest. All the unit tests pass after applying this patch.