Windows support

Adding support for windows includes two key changes: 

1) Wrapping any linux-specific shell commands into a conditional so they are not executed
2) Adding support for enabling the gui option when running vagrant.