Option arrays -> `opts_...` functions defined

Old functions `addToOptions`, `merge` and `prettyprintOptions`
have deprecation warnings but are still used
Use `opts_new` everywhere
Use `opts_add` instead of `addToOptions`
Use `opts_merge` instead of `merge`
Use `opts_remove` instead of inline code
Use `opts_print` instead of `prettyprintOpts`
Use `opts_append` and fix `opts_merge`

`opts_append` needs to be used where the colormap is handled.
So, in `opts_merge` this also has to be done.
Since previously, `opts_append` did no checking at all, now it is checked
whether the (k,v) pair exists already. If it does, there is no point in adding
it again.
Note: two pairs (k,v1) and (k,v2) WILL be added.
As this needed the introduction of functions `opts_has` and `opts_get`,
the same are used in `opts_add` which has now been simplified
Merge branch 'cleanOptions'

This is a first step to rehaul the handling of `options` arrays where the
names are made more uniform. Also, some support for duplicate keys
is added (needed as alternative to #388 to support multiple color maps).

At the moment, usage of the old functions `addToOptions`, `merge` and
`prettyprintOpts` will remain to work, but will issue a warning to migrate
to the new functions (i.e. `opts_add`, `opts_merge`, `opts_print`).
Since this changes the behavior of `opts_merge` to use `opts_append`
(with some guard for duplicate kv-pairs) instead of `opts_add` (which guards
against duplicate keys), it has been made sure that the output is identical
before and after this branch by diffing the output TeX files of the ACID test.
The results: all files differ by a single line (i.e. commit ID of git)
Only exceptions: test 40 (which still contains random data) and test 8
which also differs in the data (but not the options!) apparently.

In future steps, there are a few things that will be addressed:

  1. these functions will be used instead of manually handling of
     `cell` arrays containing `key=value` pairs.
  2. a faux-OOP layer can be added, such that a syntax
     `opts = opts.add(key, value)` is possible instead of the current
     `opts = opts_add(opts, key, value)`.

We should, however, make sure that the faux-OOP layer does not
Improve test suite interface

ACID test functions in function `ACID`
External interface now gives the cell array of function handles
when argument is 0. This would allow to call such a function from
another test suite, i.e. to construct a test suite "everything"
that calls all other test suites.

In the output, it is documented better which test suite is ran.
Fix ACID(40): non-random data
Merge branch 'testsuites'
Fix the README instructions to call the implemented testsuite ACID.
Merge pull request #398 from PeterPablo/acidtest_fix_readme

Fix the README instructions to call the implemented testsuite ACID.