Partially reverted #685b81c by deleting NeedlemanWunschQuadratic and removing it from Alignments.
Fixed this issue:
        NucleotideCompound A = new DNASequence("A").getCompoundAt(1);
        NucleotideCompound a = new DNASequence("a").getCompoundAt(1);
        SubstitutionMatrix<NucleotideCompound> matrix = new SimpleSubstitutionMatrix<>(DNACompoundSet.getDNACompoundSet(), (short)1, (short)0);
        System.out.println(matrix.getValue(A, a)); // prints 1
        System.out.println(matrix.getValue(a, A)); // prints 1
        System.out.println(matrix.getValue(a, a)); // prints 0!!!
        System.out.println(matrix.getValue(A, A)); // prints 0!!!
 The simple solution: compoundsEquivalent should always return true if the two are equal.
 Added a test for this.

 Also deprecated the no-args constructor SimpleSubstitutionMatrix() in favor of a static factory method getBlosum62(). The former was dangerous, since the generic type couldn't be checked. Plus, we should be explicit about what it is, since it only applies to amino acid sequences.