ENH/CLN: add BoxPlot class inheriting MPLPlot
Like #7809, added `DataFrame.plot(kind='box')` to plot boxplot under the common plotting method.

**NOTE:** `DataFrame.boxplot` remains untouched (few lines are modified to share some definitions).
**NOTE:** This is based on #7736.

```
import pandas as pd
import numpy as np
pd.options.display.mpl_style = 'default'
df = pd.DataFrame(np.random.randn(100, 5))
ax = df.plot(kind='box')
```

![figure_1](https://cloud.githubusercontent.com/assets/1696302/3890938/2cc60f44-2225-11e4-8d79-4633c5ac7b40.png)

One enhancement is easier colorization by passing `color` keyword. You can pass `dict` with keys are `boxes`, `whiskers`, `medians` and `caps`. If some keys are missing in the `dict`, default colors are used for the corresponding artists. Also, boxplot has `sym` keyword to specify fliers style (This is mpl keyword and simply forward to mpl).

```
color = dict(boxes='DarkGreen', whiskers='DarkOrange',
             medians='DarkBlue', caps='Gray')
ax = df.plot(kind='box', color=color)
```

![figure_2](https://cloud.githubusercontent.com/assets/1696302/3890940/310b00e6-2225-11e4-8120-4c7fd7ffa697.png)

hmm, any way to get rid of `DataFrame.boxplot` and replace with this? (I think you did that with hist yes?)
 `DataFrame.boxplot` and `hist` still remain. This is because `DataFrame.plot` doesn't cover  `GroupBy` cases yet.

My idea to replace `boxplot` is enhance `DataFrame.plot` to support `GroupBy` in consistent way. Then, `plotting.scatter`, `DataFrame.hist` and `DataFrame.boxplot` can be deprecated (hopefully by 0.15). 
 @TomAugspurger can you have a look
 @sinhrks want to rebase now that I merged #7736 

Or actually you may not need to since they're separate commits. I'll look.
 @jreback Do we really want to get rid of `DataFrame.boxplot()` et al? Because this is really used a lot .. But, for this PR a bit a seperate discussion, as the questions doesn't hinder to improve the `.plot(kind='box')` 
 @jorisvandenbossche I don't think this touches `DataFrame.boxplot()`; it should really just (not sure if this PR does it), make it an alias for `df.plot(kind='box')` that's it really.

I think @sinhrks changes `df.plot(kind='hist')` to do basically the same thing (but not touch the API)
 @jreback yes, but I interpreted your "get rid of DataFrame.boxplot" as deprecating it in the API, not as just making this an alias for plt(kind='box')

@sinhrks What are, as for now with this PR, still the differences between `df.boxplot()` and `df.plot(kind='box')`? (because looking at the code, `df.boxplot()` is not yet simply a call to `df.plot(kind='box')`)
 Unable to replace existing boxplot now, reason is described above.

I think there are some options to "get rid of" `boxplot`. Making alias or completely remove after some span... It should be discussed separately including `hist` and `scatter` also.
 OK, thanks @sinhrks.
 FYI, build failed: https://travis-ci.org/pydata/pandas/builds/33461054

Looking into it. Doesn't seem related to this one.
