ENH: accept a dictionary in plot colors
This is a resurrection of #28659. Have kept the original commit history, just rebased and added docstrings.

- [x] closes #8193
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

@jreback have done some docstring-sharing, here are some screenshots:

![image](https://user-images.githubusercontent.com/33491632/72686299-07c07380-3aeb-11ea-9818-aa9144dbd7bc.png)
![image](https://user-images.githubusercontent.com/33491632/72686306-29b9f600-3aeb-11ea-8212-7caaac0bc27b.png)
![image](https://user-images.githubusercontent.com/33491632/72686322-4c4c0f00-3aeb-11ea-9600-e1caf0b0f70a.png)
![image](https://user-images.githubusercontent.com/33491632/72686335-7ac9ea00-3aeb-11ea-953b-1bb98aa28b42.png)
![image](https://user-images.githubusercontent.com/33491632/72686345-959c5e80-3aeb-11ea-9661-1e34d8edc6ea.png)
![image](https://user-images.githubusercontent.com/33491632/72686365-cda3a180-3aeb-11ea-937a-c08ebbed4f4e.png)
 great lgtm. if @datapythonista or @simonjayhawkins have any comments on the doc-strings otherwise merge away. thanks @MarcoGorelli  Happy to help, thanks @Leostayner for having started this