Merge pull request #27 from rillian/state-enum

Use enum types for parse state
Various in-progress fixes.
Add a comment to the platform #ifdef forrest.
This test is timing out again. Disabled.
Add a unit test for find_bytes.

When run under valgrind (./configure --enable-valgrind && make check)
this test shows the invalid read problem reported in
https://github.com/mozilla/webvtt/issues/21

The find_bytes() function is static, so the only way test it is
with #ifdef'd code in the same source file. Unfortunately parser.o
won't link on its own. I uses symbols from most of the other source
files as well.

Probably find_bytes should move to a separate source file or
string.c, and be WEBVTT_INTERNAL so we can call it from the
gtest framework in test/unit.
Shayan's fixed find_bytes() from issue #21.

Moving the conditional to the start of the loop avoids an
invalid read if len < slen.
More verbose output from the find_bytes() unit test.

Doesn't seem to work? Should only show/not show a problem
under valgrind for the current implementation.
Build the find_bytes unit test as part of 'make check'.
Fix find_bytes unit test build.
Build tests on the default make target instead of 'check'.

This makes it easier to work on the unit tests since they can
be rebuilt with a simple 'make' when running them manually.
Previously one had to 'make check' to rebuild the tests, which
also runs them, making the cycle longer than necessary and
hiding any compiler warnings.
Add an --enable-coverage.