text: Title: Handle start index with `FOR IN ENUMERATE` loops already in parser
  Body: We added support for the optional start index in RF 4.0 (#3781). It was implemented so that only the runner object detected that the last iterated value has `start=` prefix and the parser doesn't know anything about it. When similar configuration was added to `WHILE` (`limit`) and `EXCEPT` (`type`), they were already recognized by the parser making the behavior with `start` inconsistent. This should be changed and `start` with `FOR IN ENUMERATE` loops handled by the parser as well.
  
  Handling `start` in the parser means that the `For` model object in the `TestSuite` structure needs `start` attribute as well. The same `For` is used with all `FOR` loop types and it getting an attribute that only affects one of them is a bit questionable, but I don't consider it too big a problem. We could consider adding separate `ForInEnumerate`, `ForInRange` and `ForInZip` model object, but I consider that too much work compared to benefits at least right now. We also need to add `start` as an attribute to `output.xml`. Changing it always has backwards incompatibility concerns, but tools processing XML files shouldn't be bothered by new attributes so I consider this safe.
  
  One reason to do this is that we plan to make `FOR IN ZIP` configurable as well. It's configuration options should definitely be handled by the parser and in that case `FOR IN ENUMERATE` behaving differently would be really weird.