Patches UA and PROXY in metsrv when running migrate
msftidy'd
De-committing based on suggestions from Meatballs1 and jlee-r7.
Provides methods to patch metsrv stagers with options.
Cleaned up indents.
Refactored expiration and timeout logic in client_core.rb
Mitigates excessive use of lookup operator (hopefully adds clarity)
Uses a hash for options as opposed to numerous methods on blob
Fix #4378 - Do exception handling

Fix #4378
Take full advantage of the check command
Reworked to avoid extending String class on blob per hdm's rec.
This oracle scheduler exploit hangs if not vuln

When this exploit gets run against a system that isn't vulnerable
it can hang for a signifigant ammount of time. This change uses the check
method on the exploit to see whether it should proceed. Don't try to exploit
the host if it's not vulnerable.
Land #4404, Oracle scheduler exploit fix
Land #4402, ms12_020_check NilClass fix
Refactors metsrv patching in reverse_http.rb
Refactors metsrv patching in reverse_hop_htt.rb
Patch UA/Proxy settings during migration, lands #3632