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'm not sure that helps in this case.  I'd then have to do something like:

```
it 'whatever' do
  let(:stuff) = subject.decode_message(some_string)
  let(:header) = stuff[0]
  let(:type) = stuff[1]
  ...
  expect ...
```