Revise ipython dependency order.
Make requirements optional in python2.7 package.

Also update virtualenv version and set pip caching.