Don't leave semicolons behind after consuming character entities

Character entities such as `&Ouml;` and `&Agrave;` were being
consumed incorrectly, leaving the semicolons behind. This commit
fixes those entities and several others with the same problem.
Merge pull request #249 from rgrove/bug-char-ref-semicolon

Don't leave semicolons behind after consuming character entities