Add tests for setting WebVTT attributes on EmptyCues

Tests to check that setAlign/Line/Position/Size/Vertical fail on
EmptyCues, even when the values are "okay". Blues a bunch of orange
lines in the lcov reports :>

Improved test coverage provides a test case to ensure that EmptyCues
cannot have WebVTT properties set. This is going to be re-structured
soon, but for now it brings Cue coverage to nearly 100%.
Add tests for Cue::setId/setText/setStartTime/setEndTime +empty tests
Add tests that set Cue::Vertical with out-of-range values
Added tests for setting Cue::Align with out-of-range values
Test setting Cue::setLine with NULL and empty strings
Add (very big) test-case for Cue::applySettings()

This is not as robust as perhaps it needs to be, but it does
cover each line of the applySettings routine.

The test was actually broken because of a bug in String::collectWord,
which is also fixed in this patch.
Added Cue assignment tests, moved generic Cue tests

Generic Cue tests moved to Cue.cpp, because they're not really
WebVTT CueSettings related
Merge pull request #16 from caitp/issue-16

Improve test-coverage for TimedText::Cue and fix bug in String::collectWord