Allow modules to be installed from source

This patch adds logic that can be used to clone
modules from remote git repositories and set the
resulting local repos to a know revision.

This logic has been added to make it easier to
decouple modules that are currently included as
a part of config into their own repos. Allowing
source installation will allow for edits of these
modules to be consumed more easily (without requiring
an additional release to the forge).

Additionally, this patch removes the puppet forge
installation logic that was installing without deps.
If modules are needed without their dependencies, they
can be installed from source to limit the amounts of ways
that modules can be installed.

Change-Id: I6e25cd65569f82bd5b0ef7d00b32e93ecdda3d71
Merge "Allow modules to be installed from source"