Melt with multiple pivot keys

Modify the melt function so that it accepts multiple pivot keys rather
than just a single key.

This makes is a bit more like the reshape2 function in R.

The function might also be brought closers to the R equivalent with the specification of both `id.vars` (pivot keys) and `measure.vars` (those to be normalised/ melted). I didn't need that at this time however. If this is a goal perhaps it's worth making the `pivot-keys` argument a vector rather than using &.