Clustered heatmap

Here's an initial version of the clustered heatmap

Examples: http://nbviewer.ipython.org/gist/olgabot/8341784

Todos:
- [x] Reformat params with `heatmap_kws`, `row_kws` and `col_kws` or something to clean up the arguments
- [x] Is there a way to `set_axis_style('nogrid')` within a single plot? I couldn't find a way to detect the current `axis_style` to switch, and then return the `rcParams` to what they were.
- [ ] Allow for several levels of labeling groups in the heatmap (multiple levels of colors)
- [x] Allow for user to specify their own linkage matrices
- [ ] Constrain colorbar scale to have at most 3 labels. Currently this works only for divergent, linear maps.

Suggestions?