unattended-file: Handle 'floppy' injection method

This script injection method was forgotten when we added handling of
injection methods and it broke express installation for windows.
unattended-file: Make injection_method, public

Use make use of this in the following patch from UnattendedInstaller.
unattended-installer: Remove a hard-coded rule

Instead of checking if distro of OS is "win", lets instead check which
installation method we are using.
downloader: Handle downloads of unknown size

Currently if size of file being downloaded is unknown, we download the
bytes but just ignore the bytes. This patch fixes this case by writing
the downloaded bytes to the file but just not reporting progress if size
is unknown.