Fixes #853879 - Read multiline cues, handle invalid cuetimes better, etc

just opening this to see a diff, so that I can split this up into smaller pieces more easily.