Reboot of clustering

This is pulled off of `master` this time instead of `dev`, fixing weird merging issues occurring in https://github.com/mwaskom/seaborn/pull/73
 
Trailing 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) [probably not in this release]
- [x] Allow for user to specify their own linkage matrices
- [x] Constrain colorbar scale to have at most 3 labels. Currently this works only for divergent, linear maps. [probably not in this release]

Here's a notebook of the current abilities: http://nbviewer.ipython.org/gist/anonymous/10da01312dc2486888f5