Simplification of cuesettings parsing

A portion of this code has been taken from my split-parser patch and integrated into the existing parser, in order to replace the horrendous parse_cueparams routine.

Unfortunately, this code is not strictly re-entrant, and it is expected that an entire line of text has been read before it is called.

This patch also provides an assert macro that will not terminate the application unless desired (by compiling with `-DFATAL_ASSERTION`)