Some TODOs added before I decided on a new branch.

I want to redo the new_change function to see if I can take advantage
of the improved p4_run function.
Some refactoring and give user a second chance in new_change.

Since run_cmd was only called in the P4 class, I moved it there
and renamed it to run(). Then I renamed _p4_run() to run_G(). Those
names make more sense to me.

With that in place, I added code to new_change that gives the user
a second chance to edit the change list spec if it fails to load.
Small doc change.
Many changes in support of editing p4 change lists.

1. Make use of p4.run() consistent with p4.run_G()
2. Changed _p4_info to just info.
3. Improved the get_editor function and moved it into P4.