Task #4: Create a Nucleotide Substitution Matrix Data Structure

Create a simple data structure to represent the substitution matrix
and to manage any rules that must be imposed on the substitution matrix
such as substitutions mapping to themselves must always be 0.

Verification: nosetests .