Provide a better implementation for testing passwords.
* bzrlib/ui/__init__.py: (UIFactory.get_login): Deleted. (CLIUIFactory.get_non_echoed_password): New method allowing overriding.
* bzrlib/tests/__init__.py: (TestUIFactory.get_non_echoed_password): Allows password testing without worrying about echo echo.
* bzrlib/tests/__init__.py: (TestUIFactory): Moved from bzrlib/tests/blackbox/__init__.py (FakeStdin): Deleted. (TestCase.run_bzr_captured): Set and reuse ui.ui_factory.stdin.
* bzrlib/ui/text.py: (TextUIFactory.get_login): Deleted. (TextUIFactory.get_password): Moved to CLIUIFactory.