API: accept -1 for layout in plot functions
Closes https://github.com/pydata/pandas/issues/8071#issuecomment-55906171

``` python
In [1]: df = pd.DataFrame(np.random.randn(20, 3))

In [2]: df.plot(subplots=True, layout=(-1, 2))
Out[2]: 
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x116b134e0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x117819240>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x11786b6a0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1178a5ba8>]], dtype=object)

```

![ex](https://cloud.githubusercontent.com/assets/1312546/4309486/b0f963f4-3e9c-11e4-965f-f0ed78c1412b.png)

Just some python2 failures. I didn't realize `math.ceil` returned a float(!)
 Ok all green now. Any comments @jreback @sinhrks?
 @TomAugspurger ok then; pls add a release not in API (I don't think a whole example is needed, just a mention). merge at your discrection.
 Thanks.
 There was a build error on the first Travis job FYI. I restarted it.
 All good: https://travis-ci.org/pydata/pandas/builds/35654530
