Fix `read_cuetext()` algorithm according to spec.

After a discussion in #308, it seems that the algorithm actually asks us to add
a '\n' character to the cuetext before appending the next line, if and only if
the cuetext is not empty.

This is difficult to accomplish because of the lack of state storage, and so
it's accomplished by appending a temporary newline. and removing it prior to
appending the line.