Added regex option to validate options
Support more tab completion features
Tab complete case insensitive module options too
Tab complete the same case
Support deprecation information from constants
Large pass_file hangs login modules

SeeRM #8704

When running a *_login module that contains a large PASS_FILE
the module appears to hang while it is creating the combinations over
such a large dataset.  The solution proposed in the Redmine task
requested that the user be alerted with some sort of progress feedback
if the process takes an excessive amount of time.

I have added a message that logs to the console that contains the
number of pairs left to be constructed before the module will continue.
The verbiage is fairly arbitrary and should probably be updated to
something that might be more descriptive.  Likewise, the sleep
interval may need to be adjusted.
Adding count-based print message

This commit removes the creation of a separate, timed
thread for printing out status messages to the user
in the case of large PASS_FILEs.  This adjustment eliminates
the overheard of context switching associated with
spinning off separate threads, as well as the dangers
associated with the Thread#kill method.
Adjusting status message to be based on time

Previously the status message timing was determined by the number of
pairs left to process.  I have adjusted the code to rely on Time.now
in order to consistently print a message out every 60 seconds.
fixed some ruby warnings
Resolved some more Set-Cookie warnings
Land #3359, more Set-Cookie fixes
Change if not to unless
Land #3348, some Ruby warning fixes
Land #3185, regex option validation
Land #3293, module deprecation constants
Land #3313, progress feedback for PASS_FILE

[FixRM #8704]
Land #3183, tab completion improvements