Bugs 51806 and 51807: Fix <textarea> attributes

This change modifies the set attribute of the textarea event to first clear the
text in the textarea before adding the new text.  An append attribute is also
added, providing the old functionality, but with a more sensible name.

Testing done:

Ran VDD against a test script with a textarea.
Rework VDDClassLoader

This change cleans up VDDClassLoader a bit and finishes its documentation.

Testing done:

Ran VDD against a plugin with a variety of errors and one with none.  Made
sure exceptions reported made sense and that everything worked normally
otherwise.
Bug 50787: Add override attribute back to csv

This change adds the override attribute back to the csv event.  The underlying
code was there, but the attribute was not defined.

Testing done:

Ran Login_qauser_Lib, saw "admin" was correctly overridden with "qauser".
Bug 49296: Add assertselected attribute to <option>

This change adds a new assertion to the option event, enabling a check of
whether any or no options are selected.  For single item selects, there is
always one selected option, so this assertion is meaningless.  On multi-item
selects, however, this can be used to assert that nothing is selected.

Testing done:

Ran against the script from the bug and against an expanded script with more
variations.
Cleanup VooDooDriver.main a little

This change consolodates config key dumping into one method, dumpConfig.  It
also cleans up Java config dumping a bit, too.

Testing done:

Ran VDD, looked at output.
More VooDooDriver.main cleanup

This change factors several blocks of code of out VooDooDriver.main into their
own methods.  Also, some duplicated code between RunTests and RunSuites was
factored into common methods.

Testing done:

Ran VDD with both --suite and --test.
Clean up VooDooDriver.RunTests and .RunSuites

This change cleans up RunTests and begins the cleanup of RunSuites.  The VDD
configuration object is now passed through to Test(), and the various local
variables that simply transferred that information have been removed.

Testing done:

Ran VDD with various combinations of --test, --suite, and --restarttest.
Create VDD log file.

This change creates a mechanism so that all of VDD's output can be logged to
a file.  System.out and System.err are replaced by a new object, VDDLog that
outputs both to the console and to the new voodoo.log file.  This should aid
with some debugging tasks and will keep a nice record of all of VDD's config
which currently is printed to the console, but not saved anywhere.

Testing done:

Ran the VDD test suite and tail -f'd the log file in another terminal.
Allow multiple plugins

This change modifies VDD's command line plugin logic to allow multiple plugins
to be specified on the command line and in its config file.  There was no
runtime limitation, but the plumbing didn't yet exist to move arrays of
plugins from VooDooDriver.main and friends down to EventLoop.  This change
adds that plumbing.  Some cleanup remains, but it isn't just for --plugin, so
it will wait for a little while (this cleanup is pushing all config file
processing down to Config.java and using options.xml for both command line and
config file specifications).

Testing done:

Ran VDD with multiple plugins and one and none.  All scenarios worked.
Merge pull request #1 from sugarcrm/dev

Pull from sugarcrm/VDD dev branch with multi plugin
Allow multiple plugins in each plugin.xml file

This change allows more than one plugin to be specified in each plugin xml
file.

Testing done:

Ran VDD test suite with a plugin file that specified multiple plugins.
Merge pull request #2 from sugarcrm/dev

Fixed: multiple plugins from plugins.xml file
Added before/aftertest plugin events
Add "clear" attribute to <select>

This change adds the clear attribute to the select event.  This attribute
deselects all options on a multi-option select element.  It is ignored for
single-option select element.

Testing done:

Ran against a test script that had both single- and multi-option select
elements.  Worked as advertised.
Add "required" attribute to <image> event

This change adds the required attribute to the image event.  The code was
already in place, the attribute just needed to be added to the list of valid
attributes.

Testing done:

Selected an <img> in a VDD test script with the required attribute in place.
Merge pull request #2 from keanulee517/dev

Dev
Merge branch 'dev'
Update ChangeLog

The usual, prior-to-the-merge update.