Fix endless loop when CD can't be played

.. happens at least with SDL audio driver.
SoundDriver_CD_Play returned -1 (CD_error), so CD_ErrorString ran into
an endless loop.
Use CD_DriverError as code instead, so the actual error string can be
obtained from the driver.

Add assertion and check to make sure this doesn't happen again.
Merge branch 'fix-endless-loop' of git://github.com/DanielGibson/jfaudiolib into DanielGibson
give the fall-back path of the CD_Error code a general message

Just to cover thine own arse, have it return something generic
instead of "No error" if the assertion wasn't triggered to catch
it.