Additional AWS functionality [#56591890]
Significant updates to the AWS ruby script and associated files
Updating AWSProvider [#56591890]
adding ignore and default for processor count
add tags to instances
updating amis
edit the right object to add_tag
use existing security group if present
update AMI's
make ip_files 664
Minor updates
[#57338824] Update VagrantProvider to be reproducable for AWSProvider

@axelstudios I updated the layout of VagrantProvider into something that
you can copy into AWSProvider *or* extract into a baseclass. I'm not
sure which option would be the best.

For each call that requires a QProcess call a function was created:

    QProcess *makeCheckServiceProcess() const;
    QProcess *makeStartServerProcess() const;
    QProcess *makeStartWorkerProcess() const;
    QProcess *makeCheckServerRunningProcess() const;
    QProcess *makeCheckWorkerRunningProcess() const;
    QProcess *makeStopServerProcess() const;
    QProcess *makeStopWorkerProcess() const;
    QProcess *makeCheckTerminateProcess() const;

The developer doesn't need to be concerned about whether or not the
QProcess is being used in a synchronous or asynchronous way. Simply
create the QProcess that needs to be executed to complete the task.

A new class was created, `ProcessResults`, which contains the results of a
QProcess execution. The function `handleProcessCompleted` extracts the
results from the QProcess and queues the QProcess for deletion.

Furthermore, functions corresponding to the above "make.*Process"
methods were created to parse the results of process execution. For each
of the following:

    bool parseServiceAvailableResults(const ProcessResults &);
    bool parseServerStartedResults(const ProcessResults &);
    bool parseWorkerStartedResults(const ProcessResults &);
    bool parseCheckServerRunningResults(const ProcessResults &);
    bool parseCheckWorkerRunningResults(const ProcessResults &);
    bool parseServerStoppedResults(const ProcessResults &);
    bool parseWorkerStoppedResults(const ProcessResults &);
    bool parseCheckTerminatedResults(const ProcessResults &);

Parse the results of the process execution and return the appropriate
value.

All of this assumes that the logic that is needed for AWSProvider is
very similar to the logic needed for VagrantProvider.

But even if that's not the case, it should give you a good starting
point.
Merge branch 'AWSProvider' of github.com:NREL/OpenStudio into AWSProvider
Adding missing include
[#54814948] Report in the gui when an individual job was canceled
new amis
updated to use OS 1.0.6 on 32 core compute cluster
server OS version 1.0.6
Significant AWS updates
Now includes full workflow for validating credentials and checking service availability
Fixed bad scaling of new icons in PAT
[#56591890 #57278948]
supporting three AMIs
Merge branch 'AWSProvider' of github.com:NREL/OpenStudio into AWSProvider