ENH: Added key option to df/series.sort_values(key=...) and df/series.sort_index(key=...) sorting
- [x] closes #3942
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Added a key parameter to the DataFrame/Series.sort_values and sort_index functions matching Python sorted semantics for allowing custom sorting orders. Address open issue https://github.com/pandas-dev/pandas/issues/3942. 
