tests: make common user data for booted system
instead of copying the user-data blob for the booted system
to each of the classes, we make a single place where that is done.
generate_user_data takes a list of scripts to run.
it will set up the basic cloud-config for powering off system.
and will ensure that each of the scripts are run in the order in the list.
Also, it will replace OUTPUT_COLLECT_D with a location that it
will then collect up.
This way the sub-classes dont really have to be aware of how the
collecting is done. They just expect to run stuff and then have access
to the files they created.