Make CM_VERSION configurable for Puppet

This patch updates the puppet cmtool definition
to allow the version of Puppet installed to
be set via the CM_VERSION configuration option.

It must do this by installing both puppet-common
as well as Puppet due to some known issues with
Puppet's deb packages.

It also removes factor as a package b/c it will
be installed as a dependency to Puppet.

The version supplied must match the package versions
that can be used to isntall Puppet on Ubuntu.
(ie: 3.2.1-1puppetlabs1).