Gather Steam Server info

I am not a gamer, but this protocol came up during work so I wrote a quick gather module for it.

It should work against any dedicated Steam server.  You can find example, public targets at https://www.gametracker.com/search/cs/?.  

Example usage:

```
msf auxiliary(server_info) > use auxiliary/scanner/steam/server_info
msf auxiliary(server_info) > set RHOSTS steam-hlds.vuln.lax.rapid7.com
RHOSTS => steam-hlds.vuln.lax.rapid7.com
msf auxiliary(server_info) > run

[+] 10.4.25.20:27015 found 'Counter-Strike 1.6 Server'
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(server_info) > set VERBOSE true
VERBOSE => true
msf auxiliary(server_info) > run

[*] Sending probes to 10.4.25.20->10.4.25.20 (1 hosts)
[+] 10.4.25.20:27015 found '{:version=>48, :name=>"Counter-Strike 1.6 Server", :map=>"cs_assault", :folder=>"cstrike", :game_name=>"Counter-Strike", :game_id=>10, :bots=>0, :game_version=>"1.1.2.7/Stdio", :type=>"Dedicated", :environment=>"Linux", :visibility=>"public", :VAC=>"secured", :players=>"0/16"}'
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(server_info) > services

Services
========

host        port   proto  name   state  info
----        ----   -----  ----   -----  ----
10.4.25.20  27015  udp    steam  open   ---
- :version: 48
  :name: Counter-Strike 1.6 Server
  :map: cs_assault
  :folder: cstrike
  :game_name: Counter-Strike
  :game_id: 10
  :bots: 0
  :game_version: 1.1.2.7/Stdio
  :type: Dedicated
  :environment: Linux
  :visibility: public
  :VAC: secured
  :players: 0/16

```
I can definitely move some stuff to a mixin if that is what is desired.  If I did, I'd probably keep the lower-level stuff for message encoding/decoding in Rex and move the convenience methods to the auxiliary mixin.  Things do start get a little but fuzzy here, then, because we'd need some sort of general guidance on what protocol stuff goes in Rex and what goes in the auxiliary/exploit mixin.  Right now this introduces no new classes so in effect I'd be somewhat arbitrarily putting one part in the Rex mixin and another in the auxiliary/exploit mixin.