Updated shodan_search for new API

Updated to support new API, domain, and HTTPS.

Shodan has recently added new domains, new API, and everything
is now over HTTPS. Optional DB reporting has been update so it
can be used as input to RHOSTS for other modules.
If you're going to use my_filter as a regex all the time, just compile it once in the beginning, so it doesn't get constantly recompiled, with my_filter = Regexp.new(datastore['FILTER']) then you can just say if ip =~ my_filter etc.  If it will always be used case insensitively, you can use Regexp.new(datastore['FILTER'], true) .  Also, I don't think you are checking datastore['FILTER'] before assigning it to my_filter and referencing it, and since it's not required, it may not be defined, which I guess is ok because everything basically matches a regex of //, but being explicit about it might be better... dunno