More information in test output

 - OS version
 - MATLAB/Octave + version
 - pgfplots version
 - commit ID of m2t
ACID: clean up data directory first

This is needed to remove old test files. Especially when Octave and
MATLAB are used together, the interplay with `epstopdf` can cause strange
behavior.
Single output in `testfunctions`

The testfunctions were riddled by a lot of code to set
optional output arguments to be passed to `m2t` and `cleanfigure`.
This is circumvented by passing a single struct as output.
Once the struct is obtained, values that are not set are filled
to their default values (empty).

This allows to remove quite some code:

 * in each test case most output arguments and `extraOpts = {}`.
 * in `testfunctions` the hacky approach to determine the number
   of outputs. Now it's allways 1.

Moreover, clarity has improved since now we can pass `stat.skip = true` to
signal that a test should be skipped or `stat.closeall` to call `closeall`.
Before, this was signaled using resp. `description = ''` and using an outside
array.
Move `status` handling out of `testfunctions`

The `status` struct should be handled inside the ACID test instead.
Also, the old `desc` and `funcName` variables are replaced by their
`status.` counterparts
ACID: extractMethod: function name from error
More use of `status` in ACID test, error handling

Error handling moved into function.
More use of `status` such that most calls are cleaner
Factored `testfunctions` out of ACID test

This allows to eventually define alternative test suites to

 * test more time-demanding plots (e.g. memory limitations)
 * test for different purposes
 * move superfluous test or non-validated tests to another suite
Merge branch 'improveACID'
A new test figure with unaligned subplots and some annotations.
Fixed test `annotation3` to new testing harness
Fix testing harness
Merge branch 'altPosTest'

New test case
Bug fix in test harness
preparing new axes positioning: getAxesPosition()

including helper functions:
- getNaturalFigureDimension
- getFigureDimensions
- getRelativeAxesPosition
Absolute positioning instead of aligning.
Bugfix: getRelativeAxesPosition() with multiple handles
Use the bounding box around the axes to rescale the plot.
Remove unused methods from the original alignment method.
Introduce the helpfer function convertUnits()
use convertUnits() to deal with different units.
convertUnits: implemented `pt` and some clean-up