feat(mdtest run/auto generate): mdtest is able to encode and store
test output as json format for test report generation.  mdtest also
implements a test report generating algorithm as well as a code
coverage report generating algorithm.

mdtest allows users to store the test output into JSON format by
providing --save-report-data option for both `run` and `auto` command.
Users can use --save-report-data option to specify a path to store test
output data.  However, the --save-report-data option can only be used with
--format=tap because of the implementation limitation.

mdtest provide another command `mdtest generate` command which can
generate test report and code covereage report.  The generate command
support --report-type option which could be either set to `test` or
`coverage` for test report or coverage report, respectively.
--load-report option is provided and should points to either the test
report in json format, or a coverage report in lcov format.  --output
option points to the directory to generate test/coverage report.  --lib
is points to the source code library related to the coverage report and
can only be specified if --report-type is set to `coverage`.

Change-Id: I5f108888340a83ad537ef2c5fd42991c2e5d6396
19 files changed