Fix filestructure_unittest

Carefully ensure that lines and columns are being adjusted correctly
(except that multibyte characters still occupy multiple columns, will
correct in future).

Renamed missing-cue-identifier.vtt (This file is actually missing
cue-times, not a cue identifier).

Made line/column for incomplete cues relatively expected value (But
honestly I'm not sure what the best way to do this is, and the way it
is now is probably wrong)

Removed the *mode parameter from read_cuetext() and parse_webvtt(),
because this always points to self->mode anyways. Updated
readcuetext_unittest to accomodate this.

Removed duplicate test (MultiCueNoNewlineBetweenCues and
MissingNewLineBetweenCues are testing the same thing, so the latter
was removed)
FileParser::parse() no longer returns false when status==UNFINISHED

The mechanics of this are pretty iffy :( Originally I was saying it
would be a failure if either statuses were not WEBVTT_SUCCESS
(finish_parsing pretty much always returns WEBVTT_SUCCESS, so a parse
failure would still return 'true' when using the same variable.)

I've "fixed" this by setting status to WEBVTT_SUCCESS if it is equal
to WEBVTT_UNFINISHED.

There's probably a better way.
Create new cue in read_cuetext() when needed, to prevent double free
Release cue in ReadCuetext::dummyread() func to fix still-reachable
Separate 'read_cuetext' functionality from 'parse_cuetext'

'read_cuetext' (renamed to 'webvtt_read_cuetext') now only has one
job: to read in a text until an empty line or EOF (or '-->' sequence)
has been found.

A new internal function called 'webvtt_proc_cuetext' has been
introduced which waits for a successful/finished cue body to be read
from 'read_cuetext', and then finishes the cue in the usual manner.

This allows tests on 'webvtt_read_cuetext' to be more atomic and
separate from the cuetext parsing.
Merge pull request #336 from caitp/filestructure-fix

Fix filestructure_unittest