Allow custom install script (ks.cfg) and configurable ICICLE generation

We have repeatedly been asked to support modification of the kickstart used in the
first stage of the image building process.  This adds an "install_script" parameter
to allow that to happen.  An earlier patch set makes the existing cloud plugins
more flexible about the partition layout of incoming base images, which should allow
a wider variety of custom ks.cfg files to work.

This also adds a "generate_icicle" parameter that defaults to True but can be set
to false.  If it is false, we will not generate ICICLE.  If this is combined with
a TDL that contains no repo, package, file or command customizations, the KVM guest
will not be restarted after the initial Anaconda install finishes.  This will allow
us to support use cases, including a proposed LiveCD "provider" that will benefit
from having access to the "raw" Anaconda results.
re-enable and improve ICICLE generation and propagation

At some point we stopped persisting ICICLE when building base images

This patch turns that back on and also ensures that ICICLE is carried forward
to child objects.  Note that it can still be overridden by the plugins and that
this will in fact happen if further customization is done at the target_image
stage.
Merge pull request #263 from aeolusproject/feature/custom_kickstarts3

Allow custom install script (ks.cfg) and configurable ICICLE generation