Customize Vagrantfile with environment variables

This patch adds the ability for some `PDAL_VAGRANT_` prefixed environment variables to customize the behavior of PDAL's Vagrantfile. The general policy is to provide a 'switch' environment variable that
enables or disables a given behavior when the environment variable is set to *any* value. For example, the variable `PDAL_VAGRANT_DISABLE_NFS`, predictably, disables nfs mounting. A few special cases actually use the value of the environment variable for customization, usually some sort of integer value (e.g. `PDAL_VAGRANT_VIRTUALBOX_MEMORY`).

This patch adds the following environment variables:

- `PDAL_VAGRANT_PORT_80_FORWARD`: set or disable forwarding from guest port 80. If an integer value, set the host port. If non-integer or zero, disable port forwarding for guest port 80.
- `PDAL_VAGRANT_VIRTUALBOX_MEMORY`: set or disable a custom memory value for a VirtualBox vm.
- `PDAL_VAGRANT_VIRTUALBOX_CPUS`: set or disable a custom cpu value for a VirtualBox vm.
- `PDAL_VAGRANT_VIRTUALBOX_IOAPIC`: set VirtualBox ioapic value.
- `PDAL_VAGRANT_VIRTUALBOX_ENABLE_GUI`: set to any value to turn on the VirtualBox gui.
- `PDAL_VAGRANT_PRIVATE_NETWORK_IP`: set or diable a private network IP for the vm.
- `PDAL_VAGRANT_DIABLE_NFS`: disable nfs mounting

The following values were added previously in 35b355f39b5d88801eeb80dfe038df05ed6c72fb, and are included here for completeness:

- `PDAL_VAGRANT_SSH_FORWARD_AGENT`: enable ssh agent forwarding.

This patch will close #311.

cc @chambbj, per discussion in #308. I provided cpu and memory switches in this patch, but I did not include a custom synced dev folder, since I wasn't quite sure what you wanted there.