text: Title: Add suite and test `id` to JSON result model
  Body: Model objects have an `id` attribute that is automatically generated so that the root suite has id `s1`, its first test has id `s1-t1`, its first keyword has `s1-t1-k1`, and so on. Because ids change if there are changes to data, or if different tests are selected to be run, they cannot be used for identifying suites, tests or keywords between runs, but withing a single run they can be used for pinpointing a certain item. This is used, for example, when linking to tests in the log file from the report file.
  
  In the XML result model (i.e. `output.xml`) suites and tests have an `id` attribute. For consistency also the JSON result model should have it, especially because we are planning to support JSON results also as part of execution (#3423). `id` should be written to JSON, but Robot itself should ignore it when reading JSON.