[fix] containers are not removed on start

docker containers should be ephemeral and due to the 1:1 relation
between the container and its init script (or job, unit, etc.) one
should remove the container first, before starting it again. this is
especially true for named containers, as container names are unique.

this fix changes the scripts for SysVinit and Upstart so that they
remove the old container on service startup. containers are removed on
start, not on stop, so that operators have a chance to inspect the old
conainer (filesystem, logs, etc.) before starting a new one.
[enhancement] added script to check for new images

the script connects to docker registry getting the current id of the
supplied image and tag. it compares this id with the id of the currently
installed image + tag. the puppet module has been altered so that the
docker pull command only runs if a new image is available. the pull
command also runs when there is no image with the given tag available in
the registry so that the puppet run has a chance to fail.