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 not going to do any File error handling here, which is a bit of a can of worms because no one can decide on exactly which Errors need to be handled and we don't like to rescue all exceptions, use the block syntax so the file handle is guaranteed to get closed

```Ruby
::File.open(datastore['OUTFILE'], 'wb') do |f|
  f.write(data)
  print_status("Saved results in #{datastore['OUTFILE']}")
  # also I think Save is supposed to be Saved
end