Implement BRUTEFORCE_SPEED respect (telnet)

This implements just for telnet, but assuming this strategy is kosher,
it's not too painful to add for the rest of the LoginScanner using the
old defaults used by `AuthBrute`.

See #3904, @dmaloney-r7 or @jlee-r7
Fix issue with execution of perl due to gsub not matching across newlines
Fix some double spacing
Add a spec for the Base LoginScanner

Turns out, there wasn't one.

This tests what I've changed, at least.
Land #4356
Add a bruteforce_speed option to all LoginScanners
Explicitly include the HTTP Login scanner

This should be the last commit that fixes #3904.
Don't lie about stop_on_success

This absolutely needs to be honored too, though.

See #4365.
Merge pull request #4364 from todb-r7/bug/bruteforce-speed-3904

Modules should respect bruteforce_speed again
Ruby style on methods please

Introduced in #4220. This ain't no JavaScript!
more msftidy checks
Land #4369, ruby style method names
code style
fix invalid URI scheme, closes #4362
Fix event handlers on ruby 2

Fixes #4219
Minor improvements to datastore and http// checks in msftidy
Land #4371
Land #4373
Land #4372
Land #4375