Bug 63709: Expand iframe search parameters

This change allows iframes, via the misnamed frame event, to be found using
xpath in addition to id, name, and index.

Testing done:

Test with search by name (successful) followed by search by xpath (successful).
Add git commit info to VDD

There have been many times looking at test results that I've wonder with what
commit the version of VDD being run was built.  This change adds that
information to VDD.  Now, when --version is passed, the commit hash is also
printed.  Additionally, the VDD git commit hash is also printed at the start
of each test's log file.  This should help with debugging down the road.

Testing done:

VDD --version and ran a few tests to check for commit info.

Conflicts:

	src/org/sugarcrm/voodoodriver/Test.java
Create savehtml event.

This event, when executed, saves the current web page in the same manner as
during an error, warning, or exception when the appropriate --savehtml flag
has been specified.  This is primarily intended for debugging purposes.

Testing done:

Ran a script with <savehtml/>
Bug 64232: Don't tally restart tests

This change modifies VDDReporter so that the tallies of errors, warnings,
assertion failures, etc. from restart tests are not included in the summary.
These tests are not displayed in the results, so if they do have an error,
the resulting discrepancy can be confusing.

An alternate fix would be to generate the HTML logs for restart tests iff
they have a tallyable event.  Currently the structure of VDDReporter is
too convoluted to make a change like that without major plumbing work, so
it's deferred.

Testing done:

Ran with the logs from the bug.  The count of assertion failures is as
expected now.
VDDReporter cleanup

This change does some minor cleanup and code rearrangement in
VddSummaryReporter.

Testing done:

Compiled.
Rename VddSummaryReporter to VDDReporter

The current VDDReporter entry point, VddLogConverter, only has a main (and
supporting) method that creates a single VddSummaryReporter object for all
logs.

This change is the start of a simplification of that, renaming
VddSummaryReporter to VDDReporter and making that then the entry point of
VDDReporter.
Rename VddSummaryReporter to VDDReporter

The current VDDReporter entry point, VddLogConverter, only has a main (and
supporting) method that creates a single VddSummaryReporter object for all
logs.

This change renames all references to VddSummaryReporter so that they refer
to VDDReporter instead.

Testing done:

Compiled.
Clean up and condense VDDReporter's main

This change prepares VDDReporter's main method to be moved over into the
new VDDReporter class by cleaning it up and condensing it.

Testing done:

Ran with both --suitefile and --suitedir
Move VDDReporter's entry point into VDDReporter

This change finishes the consolidation of VDDReporter's entry point by
moving main into VDDReporter and deleting VddLogConverter.

Testing done:

Compiled both regular and debug builds and ran VDDReporter with both.
Centralize command line parsing.

Command line parsing in VDDReporter is very simple. This change, then,
deletes the classes that handled that in favor of using a simple for loop
in main.

Testing done:

Ran VDDReporter with all options.
Delete three unusued classes from VDDReporter

Testing done:

Compiled and ran VDDReporter
Make imports explicit in VDDReader.

Testing done:

Compiled.
VDDReporter constructor and global cleanup

Testing done:

Compiled and ran.
Consolidate file reading in VDDReporter

This change moves the file reading code into a single method and replaces
the two blocks that had been loading files with calls to that method.

Testing done:

Compiled and ran, verifying that the output files still looked as they should.
Create data structure for suite data in VDDReporter

Testing done:

Compiled and ran and checked results.
Slightly clean up suite summary file reading

Testing done:

Compiled, ran, and checked the output
Overhaul XML handling in VDDReporter

This change reworks the plumbing of VDDReporter with respect to how it reads
the suite summary log files.  XML Nodes are only gone through once now,
rather than hundreds or thousands of times.  A longstanding bug that
prevented the display of more than one suite with the same name has also
been fixed.

Testing done:

Many iterations of VDDReporter against a variety of data.

Conflicts:

	src/org/sugarcrm/vddlogger/VDDReporter.java
Clean up summary file generation

This change straightens out, consolidates, and cleans up summary.html
generation.

Testing done:

Ran VDDReporter.
Rearrange methods in VDDReporter

This change rearranges the methods in the VDDReporter class so that related
methods are close to one another.  No code was otherwise modified.

Testing done:

Compiled and ran VDDReporter
Clean up issues.html generation

This change cleans up and optimizes the generation of issues.html in
VDDReporter.

Testing done:

Ran VDDReporter, looked at output.