Make the scenarios independent on the instance platform.

This patch involves a couple of changes:

   * modifying BaseArgusScenario so that it will rely on implementations
     provided by subclasses.

   * transform prepare.InstancePreparer into a base class and create
     a new preparer for Windows instances.

   * add BaseWindowsScenario, which is a test base class for Windows
     instances.