Properly remove items from dictionary rather than just setting them to None.
Rejiggering how to update contours. Intermediate commit, because some things work but other things don't.
Multiple color handling implemented with a default dict.

Seems to work generally.
Added in some important comments.
Changed signature of select, remove_contour so that `input_key` is an arg not kwarg.

Updated all users of those methods to comply with new signature.
Updating .gitignore.
Finally it works! (for mouse-based input buttons 1,2,3)

Selections work between clicking the map AND clicking the dendrogram!

This was a weird one-line fix from the previous version so whatevs, you know?

Future upgrades: making the dictionary keys not based on button clicks, but, like, a palette of some kind (a la IDL cloudviz). It would be fairly straightforward to replace all the places where we ask for event.button with self.current_palette_choice (or something like that). We'd have to build a little UI that lets you play with the palette choice dudes, probably by clicking. Would we also want to build color selection into that? i hope not.
Updated default color selections to yellow/orange/magenta. They play well on black.
Renamed update_contour to update_contours; removed some fluff comments.
Fixed the bug where ALL contours would get removed if you picked an invalid spot on the map.

Now only the contour you were trying to select will get removed; the still-valid ones will remain.

I resurrected the remove_contour() method for this. We still have a use for it.
Cleaned up the code in update_contours() -- removed some redundant assignment & checking.