Support install phase with nodepool

Some operating systems are not available as cloud images. To be able to
create nodes of such operating systems, we must install them first on
top of, or by replacing the standard os. This install phase would
include several automated restarts of the node. This patch adds this
functionality to nodepool, and the ability for nodepool to track the
installation.

New configuration values:
- image.install - specifies a script, that should be ran on the standard
  os. If it's omitted, no installation will be performed.
- image.install_status_file - is a path on the instance, whose content
  is periodically read by nodepool. The installation is ready, if the
  string "DONE" is found in that file. If this is not specified,
  nodepool assumes that the host is installed right after the install
  script returned.
- image.install_poll_timeout - defaults to 30, specifies the seconds to
  wait between polling install_status_file's contents
- image.install_poll_count - defaults to 10, specifies the number of
  polls nodepool performs before erroring out.

Change-Id: I107c7ada43f5650bfaa81ca99732405e749d158b
refactor: extract copyNodepoolScripts
Run install script
Polling the install status

If image.install is specified, user can also specify an
install_status_file, the install script's responsibility is to update
its contents. Nodepool will poll the contents of the script, and look
for the string "DONE". The maximum number of polls defaults to 10, can
be specified with install_poll_count. The time between the polls
defaults to 30, and could be specified with install_poll_timeout.