Throws an exception on error.

Prevents it from going nuts on invalid files.

git-svn-id: http://textpattern.googlecode.com/svn/development/4.x@5718 2fea6a4d-a838-0410-917b-93a53c48e9d2
Introduces Textpattern_Textpack_String_Iterator.

Textpack file iterator parser. Allows parsing any number
of any size Textpack files without exhausting memory.

It wraps around the normal TextpackParser and FileIterator,
parsing only a one line at a time. Being an iterator,
parsing can be stopped at any given time.

This parser can be used to generating the new language
panel as it can easily fetch the language names from the
files.

To optimize parsing even more, we should remove regular
expressions. For instance the whole comment check
thing is rather unnecessary when you really just want
to read the first two bytes.

git-svn-id: http://textpattern.googlecode.com/svn/development/4.x@5719 2fea6a4d-a838-0410-917b-93a53c48e9d2