validate-runner: report-level initial work.

+ Defines reporting levels and document them.
+ Add API to get the default level.
+ fix indentation.
+ fix some typos.
+ Add the beginning of a reporting test.
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