Refactor modifyvm arguments

Construct a list so that items can be added conditionally.
Ignore physical attributes from JSON nodes

Physical attributes like RAM or number of CPUs don't scale well from our
cloud environments onto people's laptops. For example the Puppet node is
given 16G of RAM.

Will add a way to locally specify these instead.
Allow RAM (and others) to be overridden

Use a `nodes.local.json` file to override node attributes. Currently only
"memory" is supported. Can be extended to support others.
Additional shared folders for Puppet Masters

Mount some additional shared folders for Puppet Masters to run with their
normal production-like configurations. This is only applied to nodes of the
class "puppet". The shares are not NFS because OSX won't let you export
multiple paths from the same parent.