validate-runner: Add code to parse GST_VALIDATE_REPORT_LEVEL.

+ Extend the tests.
+ [API] gst_validate_runner_get_default_reporting_level
+ [API] gst_validate_runner_get_reporting_level_for_name
validate-monitor: Determine the reporting level at setup.
tests: Test reports refcounts.

+ Set the element monitor on the element as qdata.
validate-runner / reporter: Sanitize reports refcounting.

The previous code worked but was confusing, the runner didn't actually
take the ref it was releasing later.

+ Fix indentation.
validate-runner / monitor: Let the user single out pads.

That's some pretty specific code but it should be helpful.
The following syntax can be used : element-name__sink-name, separator
can be discussed.

+ Free return of gst_object_get_name.
tests: Check monitors correctly determine their reporting level.

+ [API] gst_validate_reporter_get_reporting_level
validate-runner: Implement REPORT_NONE for global reporting.

Yeah that was tough. Helpful already though, for example:
GST_VALIDATE_REPORT_LEVEL=none,x:all gst-validate src name=x ! sink
will only report issues reported by the source.

+ Add test.
validate-report: split up printf function.

+ And expose resulting subroutines.
validate-runner: implement synthetic report.

+ Fix criticals logic in validate_runner_printf
+ Update padmonitor tests
validate-report: Add a reporting level field and setter.
validate-report: Set conditions in which a report can't be master.
pad-monitor: simplify and correct issue concatenation.

We hereby consider that only immediately upstream pads
have to be checked for a master report.
pad-monitor: check set_master_report return value.
validate-pad-monitor / runner: Check per-object reporting levels.