package-builder learned 'cowbuilder'

cowbuilder is a wrapper for pbuilder which saves us the need to
uncompress a base image.  That makes builds a bit faster and is also the
default builder for git buildpackage --pbuilder.

pbuilder and cowbuilder share the same options, the only differences
being:
* --basetgz versus--basepath
* the image file extension (.tgz vs .cow)

Some simple case statements handle the differences based on the builder
name.

The 'pbuilder' class is now a define named 'builder'.  That let us
create the build environnements for both 'cowbuilder' and 'pbuilder'.

Example usage:

  builder { 'cowbuilder':
    dists => [ 'precise' ],
  }

The image define needs a unique identifier, we can no more simply use
the distribution name, instead it is recommended to use the builder
program name and distribution joined with a dash such as
'cowbuilder-precise'. When specifying neither $dist or $builder, the
define will interpolate the values from the title.

Since puppet lacks iterator, we have to pass an array of all the image
titles we want to build to image{}.  Using interpolation let us easily
build all the images we want.

Example:

 $myimages = [
   'pbuilder-precise',
   'cowbuilder-lucid',
   'cowbuilder-precise',
   'cowbuilder-raring',
 ]
 image { $myimages: }

I have added a few notify{} to inform the user about what is going on
when running puppet from the command line.

Wrote documentations for the defines.

Change-Id: Ie0c9e0109b7752ec6059d67675fd1dd56c124bd3