ENH: plot functions accept multiple axes and layout kw

- Added ``layout`` keyword to ``plot_frame`` (Closes #6667)
- Allow to pass multiple axes to ``plot_frame``, ``hist`` and ``boxplot`` (Closes #5353, Closes #6970, Closes #7069)
```
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import pandas.util.testing as tm

n = 20
gender = tm.choice(['Male', 'Female'], size=n)
classroom = tm.choice(['A', 'B', 'C'], size=n)
df = pd.DataFrame({'gender': gender,
                          'classroom': classroom,
                          'height': np.random.normal(66, 4, size=n),
                          'weight': np.random.normal(161, 32, size=n),
                          'category': np.random.randint(4, size=n)})

fig, axes = plt.subplots(6, 3, figsize=(6, 7))
df.boxplot(by='category', column=['height', 'weight', 'category'], ax=axes[0])
df.groupby('classroom').boxplot(column=['height', 'weight', 'category'], ax=axes[1])
df.hist(column=['height', 'weight', 'category'], ax=axes[2])
df.hist(by='classroom', ax=axes[3])
df.plot(subplots=True, ax=axes[4], legend=False)
df.plot(kind='pie', subplots=True, ax=axes[5], legend=False)
plt.subplots_adjust(hspace=1, bottom=0.05)
```
### Result
![multiax](https://cloud.githubusercontent.com/assets/1696302/3561467/f1ce4c82-09c2-11e4-8623-08b1bd519ebc.png)

``ValueError`` will be raised for invalid input. Added description.
https://github.com/pydata/pandas/blob/master/pandas/tools/plotting.py#L2825

Tested in 
https://github.com/pydata/pandas/blob/master/pandas/tests/test_graphics.py#L1635