Convert to system report API provided by Report builder. The entity
defined the column and filters, which are used by the system
report class we have created.
Report actions are also defined in the system report.
In the table that lists the scheduled tasks:
1. There are badges to show which components are disabled.
2. The plugin name (e.g. auth_ldap) is shown as well as the
human-readable name (e.g. LDAP server).
3. Where a time column has a non-default value, it is highlighted
and the default is shown.
4. If the fail-delay is non-zero, the cell is highlighted.
4. If you just interacted with a task (looked at or edited the settings,
did Run now, or cleared the fail delay) that row is highlighted,
and scrolled into view when the page loads.
To support this, some of the methods for loading the default tasks
have been extended with an optional argument to leave 'R' as 'R'
rather than replacing with a random number.
Also, mixed into this commit are a bunch of coding style improvements.
Sorry I did not separate them out, but ultimately this makes the
Moodle code better.