Fix broken uses of sock.get that can lead to indefinite hangs

The use of sock.get has no timeout by default, this causes quite a few modules to hang indefinitely if the service they query does not respond. This patch also fixes bad uses of get_once, prefers get_once over get, and corrects some of the check() methods to properly check return values and form correct HTTP requests. 

General cleanup, basically. See this comment for a specific example: https://github.com/hmoore-r7/metasploit-framework/commit/43420aa9844fc4e850b0bfc3f90412801d0a0b79
We do prefer `&&`. From the [Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide):

> The `and` and `or` keywords are banned. It's just not worth it. Always use `&&` and `||` instead.