[counters] Add system counters

After discussion with Kumpera, it was decided to load them lazily when calling mono_counters_foreach for the first time. It has to be inside the mono runtime, and not in a profiler because it accesses proclib API which is all MONO_INTERNAL functions.
[counters] Edit get process pid and /proc/loadavg according to Paolo review
[tests] Fix a trivial consistency issue in a test case.
[runtime] Remove an assert from inner_start_thread () on win32 which is not needed.
[xbuild] Make tool output parsing more robust

It's now also much more compatible with the subtleties of
the MS .NET parser and includes a substantial test suite.

Fixes BXC19542 - Broken F# Error Reports
[eglib] Remove test-glib code, we don't have to maintain compatibility with glib any more. Fixes #19638.
[sdb] Fix the serialization of variables with address mode VTADDR.
[jit] Add a test for lrem_un.
[sdb] Avoid placing implicit sequence points at offsets where the IL stack is empty when using symbol file based sequence points. Fixes #13640.
[sdb] Fix a deadlock in the assembly cache invalidation code.
[system.net.http] Fix encoding of Content-MD5. Based on patch by nberardi. Fixes #19644
[http] Convert string output data using BOM header when available. Fixes #19667
[decode] Add check for computer endianness on startup
[decode] Add Counter, CounterValue, CounterList, CounterSection and CounterTimestamp structs

Counter : contains metadata concerning a counter. There is one in memory per counter index (right now ~100).
CounterValue : represent a sample value of a counter.
CounterList : it is a utility struct that contains a list of counters.
CounterSection : represent all the counters that are in this sections. Used only when we sort counters per category.
CounterTimestamp : represent all the counters that have a sample value at this timestamp. Used only when we sort counters per time.
[decode] Add functions to manipulate counters, counters_sections and counters_timestamps

This variables are respectively :
 - the list of all counters
 - the list of all counters grouped by sections
 - the list of all counters groupes by sample value timestamps and sections
[decode] Add functions to transform mono-counters enum to strings
[decode] Add parsing for TYPE_SAMPLE_COUNTERS_DESC
[decode] Add parsing for TYPE_SAMPLE_COUNTERS
[decode] Add dump_counters

Two main way to dump :
 - per Time : equivalent to a --stats but every seconds, useful to see the overall evolution of all counters
 - per Category : print sample values grouped per category and counters, useful to see the evolution of a specific counter over time
[decode] Add command line counters options parsing