Solved Issue #29 Provide a Manual Login

This allows the user a chance to login to the system with a user name
that is not the same as the user account on the computer
Issue #29 - Improved error handling

The user can now try as many user names as their heart desires and the
program closes when they give up
Merge remote-tracking branch 'origin/Manual_User_Login into Security