Add some small fixes to the MQAC local exploit

* Check for `INVALID_HANDLE_VALUE` when attempting to open the
  device, as this is what is returned when the device doesn't exist.
* Make sure that we only run the exploit against tartgets that we
  support directly to make sure we don't BSOD machines (such as what
  happens with SP1/SP2).
* Add a call to `check` in the exploit code.
Move error messages to `check`
Minor tidies to conform to standards
rubocop cleanup, long lines, etc
Merge rubocop changes from Kernelsmith
Rework for Credential lib update
Minor adjustments
Fix SIP options scanning
Pass protocol down to parse_reply for report_* purposes
Disable rubocop RedundantBegin for modules
Split SIP response parsing out on its own, add unit tests.

Passes rspec but fails in framework. WIP.
Refactor SIP response parsing for future improvements
Correct style and doc issues, tidy failure message when not SIP
Move SIP module stuff to Msf::Exploit::Remote::SIP
Use a correct default Accept header -- responses++
Gut SIP UDP stuff, use Msf::Auxiliary::UDPScanner
Also pull the Allow headers (previous behavior)
Enforce proper protocol case where necessary
Show port and protocol when printing service notes, not just name
Address @hmoore-r7's feedback regarding binary encoding