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)
`requirements.json` is not looped in anywhere else, so we'll have to update this manually with packages we want getting checked here.