Bugfix/delint MIM parser
Created by: mkszuba
Description
Fixes bugs observed (so far) in MIMParser during the xref sprint, add additional checks, and delint the code to facilitate further refactoring. See ENSCORESW-2880.
Use case
Part of the efforts to improve the xref pipeline.
Benefits
Multi-line descriptions no longer end up with words adjacent to line breaks erronenously concatenated. Improved performance thanks to reduced amount of redundant text processing. Partly generalised xref-insertion code. Some future-proofing. Code (hopefully) easier to maintain. PerlCritic at level 3 complains only about still rather high complexity of run() and the only additional complaints introduced by level 2 are missing certain POD sections and $VERSION.
Possible Drawbacks
None I can think of.
Testing
Have you added/modified unit tests to test the changes? No.
If so, do the tests pass/fail? N/A
Have you run the entire test suite and no regression was detected? N/A. However, I have run the parser itself on current MIM data set and it appears to work correctly.