Include submodules when starting git.

This now does a submodule init and submodule update when starting a git type
project. Useful for things related to lab, where we use submodules a lot.
Add virtualenv type.

I'm going to split up the python type into a pip type, a virutalenv type and a
package type. This is because all python types should have a virtualenv, and
some will be pip others packages and those two need to be handled differently.