Setup script

@chriddyp, @etpinard, what do you think about throwing warnings here like this?

basically, if you (1) don't have a core package installed (2) if the core package is older than ours and (3) if you have an outdated optional package (think matplotlib)
I sort of worry about giving premature warnings. A couple scenarios:

1 - A new user installs plotly and sees the warning. They make their first `plot` call and perhaps they hit a connection error (perhaps they have a spotty internet connection). They don't know whats up, but they recall the warning, they have to google how to upgrade requests, then they upgrade requests (unnecessarily) and try again. They get another connection error, but perhaps they think that they didn't upgrade requests correctly... etc

2 - A new user is trying out plotly. The first thing they see is a warning! Scary!

Some other possible solutions:
- Create a troubleshooting resource on our GitHub or on plot.ly, and whenever *any* error occurs in our module, we can direct people to that trouble shooting guide, which has these package version numbers.

-  investigate more into which versions of requests are actually unstable (release 2.3.0 has "Many, many `urllib3` bugfixes" in the release notes, so this might be hard to know for certain ...)

- raise this warning *only* when requests errors occur