Move writeFile to VDDReporter

The static methods for reading and writing files should be in one place and
together; so they're both now in VDDReporter.

Testing done:

Compiled.
Create suite file for command line tests

This change causes VDD to produce a suite XML file even for the case when
tests only are specified on the command line.  This makes it seamless
for VDDReporter to process these results.

Note: A change with similar functionality, but larger effects is on dev_v2;
this, thus, should not be merged.

Testing done:

Ran VDD with tests and processed with VDDReporter.
Use the actual report log path in the suite log

This change causes the name of the test result to only be generated in one
place, the place in the code that actually generates the file.

Testing done:

Ran VDDReporter and checked output.
Fix absolute/relative path handling for all cases

When VDD logs the paths of test logs, it uses absolute paths.  As long as the
results directory did not move, that worked.  However, as soon as the results
directory gets moved somewhere (within the same filesystem or onto another
machine), none of the log files can be found.  Also, the VDDReporter
generated HTML paths to log files weren't relative either, so that was
dependent on the directories not moving.

This change splits HTML path and log file path processing from each other,
maintains only relative paths for HTML paths, and properly rebases file paths
for logs so that they can be found during processing.  This now works for
both the case when VDD was running suites and the case when VDD was running
only test files.

Testing done:

Many runs of VDDReporter using absolute and relative input paths and against
results directories that were moved.  All output paths were checked to
ensure they were correct.
Fix bug in slowFindElement

If an exception occurs during javascript execution, the string "undefined"
is returned by executeJS.  slowFindElement was assuming that an ArrayList
was always returned, which obviously isn't true.  This change fixes the bug
and checks that a list is returned.

Testing done:

Ran VDD.
Optimize and clean up Test

This change performs major surgery on the Test class, drastically simplifying
it, cleaning up the code, and fixing a great many small bugs.  A few
cosmetic changes were made to the output file, most of which can be considered
bug fixes (e.g. the test log file has always been in red text because the
routine used considered anything that wasn't "0" an error).

Testing done:

Many runs of VDDReporter against various datasets, small and large, with and
without errors, exceptions, etc.
Reverse sort order for issues

This change reverses the issues sort order so that issues appear in
descending order of frequency.

Testing done:

Ran VDDReporter, checked issues.html