Refactored and improved rustc output parsing

When a note and a preceding error/warning have the same span, they are merged now