BUG: pivot_table sometimes returns Series (#4386)
- [x] closes #4386
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

The [`pivot_table` docs](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.pivot_table.html) mentions that a `DataFrame` should be returned. In some cases, a `Series` is returned. I had to also alter some existing tests that expected `pivot_table` to return a `Series`

Any feedback welcomed, thanks!

## [Current coverage](https://codecov.io/gh/pandas-dev/pandas/pull/14534?src=pr) is 85.28% (diff: 100%)

> Merging [#14534](https://codecov.io/gh/pandas-dev/pandas/pull/14534?src=pr) into [master](https://codecov.io/gh/pandas-dev/pandas/branch/master?src=pr) will decrease coverage by **<.01%**

``` diff
@@             master     #14534   diff @@
==========================================
  Files           140        140          
  Lines         50693      50695     +2   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43235      43236     +1   
- Misses         7458       7459     +1   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [726efc7...02ef0a8](https://codecov.io/gh/pandas-dev/pandas/compare/726efc7cd55744eb88636dd6f11293f18355a10a...02ef0a8108b04019e8d9ed64855a147677cca1ea?src=pr)
 Hi @jreback:

I added a fix to address the original bug. However, I believe `to_frame()` will be necessary because two scenarios ([pivoting with only the columns argument](https://github.com/pandas-dev/pandas/blob/master/pandas/tools/tests/test_pivot.py#L351) and [pivoting with no values or cols passed](https://github.com/pandas-dev/pandas/blob/master/pandas/tools/tests/test_pivot.py#L486)) will always return `Series` from the `groupby` and `unstack` operations respectively. 
 this looks like its duplicating #13554. Can you see if you tests are any different (maybe there is another case).
 Ah yes, I wanted to move #13554 along since it looked inactive for a while (but it looks active now). I can look into adding more tests and building upon #13554. 
 can you rebase Closing since this PR duplicated #13554 when it was inactive. Will reopen if #13554 stalls. 