pd.DataFrame.astype should allow dict as argument
Currently `pd.DataFrame.astype` only allows for one type.

I would like it to support a `dict` mapping column names to dtypes. 
Like for example the `dtype` argument of `pd.read_json`.

``` python
df = pd.DataFrame({'a': [1, 2, 3], 'b': [1, 2, 3]})
df = df.astype({'a': 'int16', 'b': 'float32'})
```
