Rework data process

The data processing step did not properly deal with symmetry in the symmetric
families. I now deal with this by renaming cWw UU to Uu to represent the
symmetry.
Rename script to match what it does
Create an object of known sequences

This creates an object that stores all known sequence combinations. This allows
us to properly display the missing box when there is no observed sequence
combination.
Use control/command click to add to selection

Shift+click is generally used to select a range of things, now use command or
control click to add an item to the selection.
Change how items are store in pairs
Rename script
Reorganize heatmap.js a bit
A more OO interface

I'm going to try to use a more OO approach to building the heatmap. This is my
attempt at organizing things using javascripts OO.
Simplify and cleanup getting pairs in a range

I've simplfied code in general and made it clear that what was called getPairs
really gets all pairs in a range.
Make the summary table interactive

We can now click on the summary table and see base combinations. It will display
all combinations with the case insensetive sequence. That is to say it will show
Aa and aA when clicking on AA. Right now this does not update the table to show
which are selected, and I don't know if we need to do that.
Turn things into numbers
Add a legend and tooltips

We now have a legend and tooltips for the heatmaps. I use tipsy to add tooltips
to all elements and some simple svg stuff to add a legend.
Add labels to the legend
Remove an extra log
Add option to not rotate column labels

This looks much better for small labels like single letters.