Added the Alphabet trait and DNAAlphabet implementation.

Updated BlockExtractable to take an Alphabet parameter, and to use the DNAAlphabet by default.
Removing the Gene object, per Uri's suggestion.