msfconsole 'edit' command

Useful for quick editing a module during development / bug fixing. I
don't really see a security issue with running a command defined in the
user's VISUAL or EDITOR environment variables;  if the user can run
msfconsole to begin with, there are better ways to get into trouble.
Use Rex::Compat.getenv instead

Also, this would deprecate out the editor plugin.
Remove the editor plugin.

Sorry, @jcran, didn't see that this was available. Turns out, this
feature is almost identical to the editor plugin, so this effectively
promotes 'edit' to a first class command.
Methodize the editor variable as local_editor
VISUAL is okay. Also doesn't need to be a path.

I don't believe this opens an untoward attack vector -- if your attacker
can run Metasploit locally, you have much bigger problems.
Land #2504, @todb-r7's edit command for msfconsole