Bug: boxplot fails if grouped by more than one column
#### Code Sample, a copy-pastable example if possible
```python
df = pd.DataFrame({'A':[0,1,1,2],'B':[2,2,4,5],'C':[3,4,7,9]})
df.boxplot(column='C',by=('A','B'))

```
#### Problem description
When running the sample code above, boxplot fails when trying to add the suptitle. I have tried updating pandas, but the error remains. I am running python 3.5 via Anaconda.
 Here is the full error output:
```python
anaconda3/lib/python3.5/site-packages/pandas/plotting/_core.py in boxplot_frame(self, column, by, ax, fontsize, rot, grid, figsize, layout, return_type, **kwds)
   2065     ax = boxplot(self, column=column, by=by, ax=ax, fontsize=fontsize,
   2066                  grid=grid, rot=rot, figsize=figsize, layout=layout,
-> 2067                  return_type=return_type, **kwds)
   2068     plt.draw_if_interactive()
   2069     return ax

/Users/jsb/anaconda3/lib/python3.5/site-packages/pandas/plotting/_core.py in boxplot(data, column, by, ax, fontsize, rot, grid, figsize, layout, return_type, **kwds)
   2034                                          by=by, grid=grid, figsize=figsize,
   2035                                          ax=ax, layout=layout,
-> 2036                                          return_type=return_type)
   2037     else:
   2038         if return_type is None:

/Users/jsb/anaconda3/lib/python3.5/site-packages/pandas/plotting/_core.py in _grouped_plot_by_column(plotf, data, columns, by, numeric_only, grid, figsize, ax, layout, return_type, **kwargs)
   2457 
   2458     byline = by[0] if len(by) == 1 else by
-> 2459     fig.suptitle('Boxplot grouped by %s' % byline)
   2460     fig.subplots_adjust(bottom=0.15, top=0.9, left=0.1, right=0.9, wspace=0.2)
   2461 

TypeError: not all arguments converted during string formatting
```

#### Expected Output
The boxplot is generated correctly, but an error is thrown when trying to set the suptitle.

#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 3.5.5.final.0
python-bits: 64
OS: Darwin
OS-release: 16.7.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8

pandas: 0.22.0
pytest: 2.9.2
pip: 9.0.1
setuptools: 38.5.1
Cython: 0.27.3
numpy: 1.13.3
scipy: 1.0.0
pyarrow: None
xarray: None
IPython: 5.1.0
sphinx: 1.4.6
patsy: 0.4.1
dateutil: 2.5.3
pytz: 2016.6.1
blosc: None
bottleneck: 1.2.1
tables: 3.4.2
numexpr: 2.6.4
feather: None
matplotlib: 2.2.0
openpyxl: 2.3.2
xlrd: 1.0.0
xlwt: 1.1.2
xlsxwriter: 0.9.3
lxml: 3.6.4
bs4: 4.5.1
html5lib: None
sqlalchemy: 1.0.13
pymysql: None
psycopg2: None
jinja2: 2.8
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None

</details>
