Fix setting PromptChar when Prompt isn't set

1. Fix setting PromptChar when Prompt isn't set
2. Fix missing space when setting PromptChar

Before:

```
msf > set PromptChar ~
[-] Error while running command set: undefined method `+' for nil:NilClass

Call stack:
/home/wvu/metasploit-framework/lib/rex/ui/text/shell.rb:248:in `update_prompt'
/home/wvu/metasploit-framework/lib/msf/ui/console/driver.rb:572:in `on_variable_set'
/home/wvu/metasploit-framework/lib/msf/ui/console/command_dispatcher/core.rb:1915:in `cmd_set'
/home/wvu/metasploit-framework/lib/rex/ui/text/dispatcher_shell.rb:427:in `run_command'
/home/wvu/metasploit-framework/lib/rex/ui/text/dispatcher_shell.rb:389:in `block in run_single'
/home/wvu/metasploit-framework/lib/rex/ui/text/dispatcher_shell.rb:383:in `each'
/home/wvu/metasploit-framework/lib/rex/ui/text/dispatcher_shell.rb:383:in `run_single'
/home/wvu/metasploit-framework/lib/rex/ui/text/shell.rb:200:in `run'
./msfconsole:169:in `<main>'
msf > set Prompt 8D
Prompt => 8D
8D> set PromptChar ~
PromptChar => ~
8D~ set Prompt 8D\ 
Prompt => 8D 
8D ~ 
```

After:

```
msf > set PromptChar ~
PromptChar => ~
msf ~ set Prompt 8D
Prompt => 8D
8D ~ 
```