Fix issue #1925

Proposed fix for issue #1925 that I reported.
 * First commit fix the problem described.
 * Second commit handle the case where one would specify a package and one of its dependancies on the command-line, ie in the case of paramiko/pycrypto:

 $ pip install pycrypto paramiko

(I agree that's a corner case) 

With these, pip will always install dependancies first, and shouldn't install the requested package if the dep failed to install.