Fix enstaller auth crash

This PR does the following:

  - make sure enpkg --userpass does not crash if no username is entered (with a message tweak)
  - make sure enpkg --userpass does not crash if credentials are invalid (or api.e.com not available)

The bulk of the PR is introducing a nascent 'functional' test suite to ensure those scenario don't get broken again.