Raise ValueError if the input could not be syllabified.

This fixes kylebgorman/syllabify#1. I didn't do any formal performance testing, but informally the entirety of CMUDict can be syllabified very quickly. The impact of using chain twice is probably insignificant compared to the two syllabification passes.