Changed SearchCommand.run to return SUCCESS or NO_MATCHES_FOUND (0 and 23) for found packages, and not found packages. Changed BaseCommand to check if `run` returned int, and if so, it is the exit status code [dummy change, just to no break everything right now; the other commands should be changed too!]. Removed SearchCommandError because it was not used
Changed HelpCommand to raise CommandError instead of InstalationError, when no command is found. It returns status SUCCESS (0) if find command or no command is specified.
Moved SUCCESS and ERROR to basecommand.py, and added a FIXME, explaining why there is a integer check for status (return from self.run)
Changed magic status code numbers to named ones
fix no-input
path exists action
issue #321: provides except block for when current working directory fails
Modify console_to_str to handle non-ASCII (UTF-8) input.
Modify Logger.log so that it can output UTF-8 encoded messages.
Revise b154c82 so that it works with Python 2
Add a test (test_install_package_that_emits_unicode) for https://github.com/pypa/pip/issues/326 and
https://github.com/pypa/pip/pull/374

Refs https://github.com/pypa/pip/issues/326
wrapping just the os.getcwd() in the try block
remove special case for user_dir on win32 platform. fixes #82
Switched test package for git freeze; jezdez/django-pagination no longer exists.
Fixes #391: "pip freeze -r" ValueError if requirements file contains --find-links or --index-url
Added test for --requirement option
Move status codes to a module and import from there
Merge branch develop from pypa/pip into hugobr/issue-22-search-should-set-useful-status-code
Change imports to right place
Added changelog entry.