Additional support for internationalization

Refactor character and sequence rules into single classes that accept character data as input.
Added common character data in CharacterData and SequenceData classes.

Wouldn't it be so much more compact and clear to represent these as Strings? Also, I'm tempted to provide other character sets for convenience as well as to flesh out the naming scheme. The popular western european languages should be straightforward. http://en.wikipedia.org/wiki/Languages_of_the_European_Union#Knowledge looks like a good reference.