Reduce the number of ways that functions run p4.
(This is work in progress towards issue #7 -- the idea is that when there are only a couple of ways of running p4, it'll be possible to reliably prompt the user to login.)
In detail:
* New macro p4-with-temp-buffer covers many cases where p4 needs to be run and the output processed.
* New function p4-output-matches return regexp matches in p4 command output.
* Get rid of p4-call-p4-here and p4-depot-output.
* Replace p4-async-command with p4-call-command (which is asynchronous in any case) in the two cases (p4-sync and p4-integ) where it was used.
* Use "p4 set" to simplify p4-current-client and p4-current-server-port (no need to reverse engineer the p4 client logic when we can just call it).