BLD: Fix build issues

Fixes for #2003 and should fix #1897. AFAICT, there's no reason to be conditional about adding the build and install dependencies depending on what command we've given setup.py. Given that `egg_info` is in `sys.argv` for a regular pip install, let's not try to special case when we do this, because I don't know what any of these mean and a cursory reading of the docs didn't get there.

If everything is already importable, you won't reinstall anything. If not, then you'll install it and you'll get pip's recursive upgrade behavior for any of our dependencies I guess. Oh well.

I think we finally have sane dependency handling.
If patsy is missing, then `install_requires` contains 'patsy'   (which triggers a chain reaction) ?