Adding ability to use batch commands

This change adds the ability to run arbitrary batch commands.
This functionality is to be able to run windows commands on a windows
slave or master.  The format followed is exactly the same as the shell
functionality.

Change-Id: I463660b29b09e5945137b50b3721ee04cc5fc04c
Reviewed-on: https://review.openstack.org/19387
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Fixing defaults for email-ext

If you go into Jenkins and just fill out the reipient list and click
save, Jenkins will default to having a Failure Trigger.  Jenkins
will also set the subject to $DEFAULT_SUBJECT and the content
to $DEFAULT_CONTENT.  This change is making JJB have the same
defaults for the email-ext functionality.  This way a user
can just set the recipient list and have it show up in Jenkins.
Previously just setting the reipient list lead to $DEFAULT_RECIPIENTS
being set instead with a FailureTrigger and this can be confusing
to some users.  This change also makes the recipient list default
to $DEFAULT_RECIPIENTS, like the plugin does when you first add
it to a job.  This way a user can just specify email-ext and the
global defaults will be used.

Change-Id: I8f207d495466a4a87431dbcb2cd46cb661b60ce1
Reviewed-on: https://review.openstack.org/19391
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins