Fixes #178 - Remove #define WEBVTT_SUCCESS() that hides webvtt_status

Removed `#define WEBVTT_SUCCESS( status )` from include/webvtt/util.h due to
the fact that it shadows the enum value WEBVTT_SUCCESS declared earlier in the
file.

Rueplaced uses of `WEBVTT_SUCCESS( status )` with `!WEBVTT_FAILED( status )`
throughout the library (only one occurrence in parser.c and 2 in string.c)
Merge pull request #178 from caitp/issue-178

Remove define at include/webvtt/util.h:176
Fixes #175 -- Minor API change, remove uninitialized variable

Bindings have been updated to support appending strings without
providing a length parameter (to support string literals)

In addition, append now has overloaded functions which provide a
webvtt_status out-parameter to allow us to determine if an error has
occurred when using the bindings.
Merge pull request #175 from caitp/issue-175

Update webvtt_string_append to use a signed integer for length that uses strlen if negative.
Squashed commits
Fixes #166 - Implemented unit tests for webvtt_string_is_empty

Implemented tests for webvtt_string_is_empty and String::isEmpty,
which tests both that we return true when the length is 0, and false
when the length is greater than 0.

I found during these tests that we do are not initializing strings
correctly in the C++ bindings, which can easily lead to segfaults.
Perhaps the webvtt_init_string and other routines should be changed to
behave differently, but currently the string to be initialized must be
0 to begin with, otherwise it will be dereferenced which can cause
problems.

Rebased against mozilla:dev, String functionality changes

webvtt_init_string and webvtt_copy_string no longer try to dereference
the old string data, and no longer check if old string data exists at
all. This means that you must now release valid strings prior to
init/copying/creating them, and we no longer encounter certain
uninitialized variable issues and are no longer required to initialize
string variables with { 0 };

Remove null-initialization of String::string.d in webvttxx/string

The previous commit makes this initialization unnecessary, and this
will remove clutter from the diff.

Remove cilanguage_unittest from XFAIL_TESTS (Closes #180)

I've decided to remove that test from XFAIL_TESTS in this pull request
as it seems to segfault without this fix.
Merge pull request #166 from caitp/issue-166

Add unit tests to address new string routine `string_is_empty`
Add finish_parsing function.

I've added the finish_parsing function. Based on these changes the calling application
will now call this function when the stream has come to an end and the parser should
do it's final operations.