ENH: let get_dummies take a DataFrame

Closes https://github.com/pydata/pandas/issues/8133

Thoughts? I encode every column with `object` dtype. You can control the ones that get encoded with `categorical_variables`. The encoded columns are `concat`ed to the columns that don't need encoding.

`prefix` and `prefix_sep` can be passed as a string, list, or dict mapping column names to strs.