(WIP) ENH: Groupby.plot enhancement

Allow to support ``DataFrameGroupBy.plot`` and ``SeriesGroupBy.plot`` covering current ``DataFrame.hist(by=XXX)`` and ``DataFrame.boxplot(by=XXX)`` usecases. Implementation is incomplete but covering most of usecases / behaviours.

**NOTE** Prior to 0.15, ``DataFrameGroupBy.plot`` results in each group to be plotted on separate figures. Not going to cover this behaviour because it is not useful so much, and can be done with:
```
for name, group in grouped:
    group.plot()
```

## Example data
```
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(20, 5), columns=['A', 'B', 'C', 'D', 'E'])
df['by'] = ['Group {0}'.format(i) for i in np.random.randint(0, 3, 20)]
grouped = df.groupby(by='by')
```

## Series / DataFrame.plot
no changes.

## SeriesGroupBy.plot
Supports the same plot types as the ``Series`` (``line``, ``bar``, ``barh``, ``hist``, ``kde``,  ``area`` and ``pie``).

By default, each group is plotted on a single axes **ignoring index** (because each group rarely has the same index).
```
sgb = grouped['A']
sgb.plot(kind='bar')
```
![figure_1](https://cloud.githubusercontent.com/assets/1696302/3907329/753471b4-22fa-11e4-8706-bcbbe07db2a8.png)

Plotting on a single axes may useful for ``hist`` and coming ``box`` (#7998)
```
sgb.plot(kind='hist', stacked=True)
```
![figure_3](https://cloud.githubusercontent.com/assets/1696302/3907356/af2962d0-22fa-11e4-9d19-6f5f65e018af.png)

If ``subplots=True``, each group is plotted as subplots.
```
sgb.plot(kind='bar', subplots=True)
```
![figure_2](https://cloud.githubusercontent.com/assets/1696302/3907382/e360d498-22fa-11e4-844b-90e0c3423e11.png)

**NOTE** In ``pie``, ``subplots`` must be always ``True``.

## DataFrameGroupBy.plot
Supports the same plot types as the ``DataFrame`` (``line``, ``bar``, ``barh``, ``hist``, ``kde``,  ``area``, ``scatter``, ``hexbin``), except ``pie``.

**NOTE** Considering a better way to support ``pie``. Always subplot by ``group`` and ``column`` like cross-tab?

##### ``line``, ``bar``, ``barh``, ``hist``, ``kde`` and ``area``
``subplots`` must be always ``True``. Also, ``axis`` keyword is added to specify the axis used for subplotting.
- ``axis=0`` subplot by group(index)-wise (default)
- ``axis=1`` subplot by column-wise
```
# axis=0: subplot by group(index)
grouped.plot(kind='bar', subplots=True)
```
![figure_4](https://cloud.githubusercontent.com/assets/1696302/3907675/310f1bb2-22fd-11e4-9acc-8f6a7f8e1fff.png)

```
# axis=1: subplot by column
grouped.plot(kind='bar', axis=0, subplots=True)
```
![figure_5](https://cloud.githubusercontent.com/assets/1696302/3907677/3633109e-22fd-11e4-829e-2507df799643.png)

##### ``scatter`` and ``hexbin``
``scatter`` allows ``subplots=False``. In this case, each group is plotted on a single axes.

**NOTE** Plotting ``hexbin`` on a single axes is less usable, so going to raise an error.
```
grouped.plot(kind='scatter', x='A', y='B', subplots=False)
```
![figure_7](https://cloud.githubusercontent.com/assets/1696302/3907801/2af7d9b6-22fe-11e4-860c-c4a32e2415d9.png)

If ``subplots=True``, each group is plotted as subplots. Not support ``axis=1`` (column-wise), because ``scatter`` and ``hexbin`` requires same number of elements for x and y axis.
```
grouped.plot(kind='scatter', x='A', y='B', subplots=True)
```
![figure_6](https://cloud.githubusercontent.com/assets/1696302/3907803/2f3f79ac-22fe-11e4-87d7-b9e92121cb04.png)

- [ ] fix ``FIXME``s
- [ ] Refactoring ``get_xticks`` (going to split to separate PR)
- [ ] Refactoring ``plot_frame`` and ``plot_series``, modify ``docstring``.  (going to split to separate PR)
- [ ] secondary_y
- [ ] error bars (some input types looks difficult to support in ``GroupBy`` cases)
- [ ] doc
- [ ] tests