Feature Request: allow user defined categories in get_dummies
To get dataframes with consistent shapes after applying `get_dummies` (in cases where not all categories are present in the data) it would be useful to provide a list of all categories to be used.

Here an example of how it could work.

```python
In [26]: df
Out[26]: 
  var_1  var_2  y
0     a      1  1
1     b      1  2
2     c      1  3
3     a      0  4
4     a      0  5

# current state remains unaffected
In [27]: pd.get_dummies(df, columns=['var_1'])
Out[27]: 
   var_2  y  var_1_a  var_1_b  var_1_c
0      1  1        1        0        0
1      1  2        0        1        0
2      1  3        0        0        1
3      0  4        1        0        0
4      0  5        1        0        0

# if categories are provided, use those.
In [28]: pd.get_dummies(df, columns=['var_1'], categories=[['a','c','f','b']])
Out[28]: 
   var_2  y  var_1_a  var_1_c  var_1_f  var_1_b
0      1  1        1        0        0        0
1      1  2        0        0        0        1
2      1  3        0        1        0        0
3      0  4        1        0        0        0
4      0  5        1        0        0        0

# with multiple columns
In [29]: pd.get_dummies(df, columns=['var_1', 'var_2'], categories=[['a','c','f','b'], [2,1,0]])
Out[29]: 
   y  var_1_a  var_1_c  var_1_f  var_1_b  var_2_2  var_2_1  var_2_0
0  1        1        0        0        0        0        1        0
1  2        0        0        0        1        0        1        0
2  3        0        1        0        0        0        1        0
3  4        1        0        0        0        0        0        1
4  5        1        0        0        0        0        0        1
```
I kind of jumped the gun on this and already opened a PR #22076, feel free to close it


My current approach to get around this seems a bit clunky, especially if multiple columns need `get_dummies` and that whole block below is put in a loop:

```python
col = 'var_1'
categories = ['a','c','f','b']
dummies = pd.get_dummies(df[col]).reindex(columns=categories).fillna(0)
dummies.columns = ['{}_{}'.format(var, cat) for cat in categories]
df = df.drop([col], axis=1)
df = pd.concat([df, dummies], axis=1)
```