Merge branch 'upstream-master' into staging/electro-release
Removing ruby-version and -gemset from gitignore

These should not have been removed.
Restoring ruby and gemset files
Tidyup of GPP

Add Security Bulletin Reference
ProgramData is symlink to AllUsers anyway
Use NetAPI
Dont try to read 0 structs
Merge in parser
Tidyup parser
Use parser
More legible output
Initial commit of an NTP fuzzer
Fuzz NTP private messages too
Mixin Msf::Auxiliary::Scanner, switch to run_host to fix DNS lookup issues
Correct order of mixins so RHOSTS works properly
When fuzzing mode 6 (control) and 7 (private) messages, print out each version tested since these tend to take a long time
Fuzz mode 7 more correctly.  Cleanup.

Provide empty 188-byte payload for mode 7 messages, otherwise nothing
seems to response.  Provide more useful defaults for versions/modes.
Allow control over what mode 7 stuff is fuzzed.
Support only fuzzing specific mode 6 operations
Fuzz all 255 possible mode 7 request codes
Minor option cleanup
This module was broken due to a hardcoded IP address for google.com
Fix incorrect use of sock.get that can lead to an indefinite timeout

console1:
```
msf> use auxiliary/scanner/http/open_proxy
msf auxiliary(open_proxy) > set RHOSTS 192.168.0.4
msf auxiliary(open_proxy) > set RPORT 8888
msf auxiliary(open_proxy) > run
< the connection never times out >
```

console2:
```
$ nc -vlp 8888
Listening on [0.0.0.0] (family 0, port 8888)
Connection from [192.168.0.4] port 8888 [tcp/*] accepted (family 2, sport 43245)
GET http://209.85.148.147/ HTTP/1.1
Host: 209.85.148.147
Connection: close
User-Agent: user_agent
Accept-Encoding: *
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7
Cache-Control: no
Accept-Language: de,en;q=0.7,en-us;q=0.3
```

After the patch, requests timeout after 10 seconds:
```
msf auxiliary(open_proxy) > run
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```