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.


My reasoning here is that the most common stacking operation is with FloatingPoint numbers, for example to plot with Gadfly:

```julia
plot(stack(iris), x = "value", xgroup = "Species", ygroup = "variable", Geom.subplot_grid(Geom.histogram))
```
The rule is pretty simple to understand. On the down side, users might expect something else. User's might expect that every column would be stacked. We could do a check to see if all of the columns have the same eltype and if so, stack on that instead of just FloatingPoint columns.

As far as precedent, the `melt` function in Hadley's plyr in R will stack based on defaults taken from column types if only given a data frame (but these are different defaults than I am proposing).

Mixing floating-point columns and integer columns is tricky. I just realized we have a bug here:

```julia
d = DataFrame(a = rand(10), b = rand(10), c = [1:10])
stack(d, [1:3]) # works - integer's promoted
stack(d, [3,1,2]) # doesn't work with integer column first
```
I had documented that no promotion is done with `stack`, but it looks like it does.