[IMPR] Check for user-password.py too
[IMPR] Check for user-password.py too

- check for both user-config.py and user-password.py before
  create_user_config is called to prevent overwriting them
- use constants for user-config.py and user-password.py basenames
. simplify change_base_dir break statement
- use textwrap.fill instead of textwrap.wrap
- file_exists shows the message whether a file exists in a given
  directory from the old main part
- also use textwrap.fill for the input message if the language code
  is missing in the known_langs list to wrap the text
- use explicit parameters in create_user_config instead of packing
  and unpacking them
- args are always given in create_user_config, we haven't to check
  for None
- introduce userlist to hold the user tuple instead of reassignment
  uf usernames with a string later
- use a "repeat" construction instead of pure a "while" to
  get_site_and_lang to prevent code duplication
- use a single message formatted with textwrap.fill to show further
  informations about BotPassword. Clear the message later.
- use a set to ensure different user names instead of filling the
  seen collector
- ask for directory to change in ask_for_dir_change function which
  also checks whether both related files exists already and return
  booleans
- pass KeybordInterrupt in a user-friendly way

Bug: T167573
Change-Id: I2f34f04354c13bde0dcb686e602a0d73394382c4

PersianWikipedia/pywikibot-core,wikimedia/pywikibot-core,wikimedia/pywikibot-core