Fix direct datastore assignments to pass msftidy

This patch should allow ```rport``` and ```smbdirect``` to be modified at runtime without touching the actual datastore options.

 - [ ] Test the module against a Windows SMB service
Nah, the user can still set it even after it is de-registered, you can even still use it. Here's an example:

```ruby
##
# This module requires Metasploit: http//metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

require 'msf/core'

class Metasploit3 < Msf::Auxiliary


  include Msf::Exploit::Remote::Tcp

  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'Module name',
      'Description'    => %q{
        Say something that the user might want to know.
      },
      'Author'         => [ 'Name' ],
      'License'        => MSF_LICENSE
    ))

    deregister_options('RPORT')
  end

  def run
    print_debug("Rport = #{datastore['RPORT']}")
  end

end
```

In msfconsole:

```
$ ./msfconsole -q
msf > use auxiliary/gather/test 
msf auxiliary(test) > show options

Module options (auxiliary/gather/test):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   RHOST                   yes       The target address

msf auxiliary(test) > set rhost 127.0.0.1
rhost => 127.0.0.1
msf auxiliary(test) > run

[!] Rport = 
[*] Auxiliary module execution completed
msf auxiliary(test) > set RPORT 8181
RPORT => 8181
msf auxiliary(test) > run

[!] Rport = 8181
[*] Auxiliary module execution completed
msf auxiliary(test) >
```