Updates to reshape functions and updated documentation

I added a few more methods for `stack` and `unstack` and added documentation. The main changes are:

* Added defaults for `stack` and `unstack` with fewer arguments.

* Added a method for `unstack`, so an id column isn't needed.

* Removed pivottable. It wasn't documented, and there are better ways to aggregate.

* A few little bug fixes.


I'm not sure wether adding a branch with a check for uniform eltypes would make me feel any better. It is a reasonable default, but still seems more of a fit in an R package than here -- the only other place I've seen in DataFrames that does something similar is `pool!(::DataFrame)`, and I'm planning to deprecate / change that in a week or two for being too inconsistent with the rest other `pool!` methods and creating asymmetry of code by which datatype(s) you want pooled, even though pooling all string columns it is sometimes what you want.

I think the case here is less cut and dry -- I'd still like to hear a third opinion.