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'