ENH/REF: Overhauled boxplots

### In a nut shell here is what has happened:

1. Created a function (`cbook.boxplot_stats`) that take any data that `axes.boxplot` could handle and generates a list of dicts containing the statistics needed to draw a set of boxplots.
1. Then I created a new method (`axes.bxp`) that accepts dictionaries from `cbook.boxplot_stats` and allows the user to customize how the plots are rendering. In other words, dictionaries of style **kwargs can be passed configuring the style of the boxes/whisker/caps, the outliers, the medians, the means (new functionality).
1. The new `bxp` method also allows the user to toggle the drawing of any element of the boxplot via **kwargs (i.e., `shownotches`, `showboxes`, `showfliers`, `showmeans`, `showcaps`).
1. The new `bxp` looks for a `label` key in the dictionaries. If it's available, it'll use that as the x-tick label. Otherwise, the labels default to the boxplot's position.
1. And finally, the original `boxplot` method is functionally unchanged, but now it relies on `cbook.boxplot_stats` and `axes.bxp` to do all the work.
1. Added a bunch of tests

### Potential remaining items:

1. ~~Well, I definitely need to draft up a good example to show all of this off. That's coming shortly (pending feedback on the existing portions of the PR).~~ 
1. ~~We might want to expose the full capability of `bxp` in `boxplot` (i.e., the style and `show*` kwargs). Currently, `boxplot`'s API/capabiltiy is unchanged. I'm fine with this but I'll need to pretty much duplicate all of the `bxp` tests to make sure nothings gets lost in translation,~~ (done)
1. ~~Rerunning boilerplate.py didn't seem to pick up on `bxp`. Do I need to clear it out first?~~
1. ~~We might want to add `boxplot_stats` to `pyplot` and `pylab`.~~ (not gonna happen)
1. ~~And it looks like boilerplate.py added a bunch of unicode strings to the call sigs and now the 3.2 build is failing (dang it).~~ (fixed that)

### This PR addresses the following issue (or allows users to address them themselves):
 1. #1199 
 1. #217
 1. #2520
 1. #1455 

There is all #1027 out there. While we don't address that issue directly. I personally agree with matplotlib's approach to boxplots that brings up that issue. In other words, that's a feature, not a bug, IMO