Adjust startup script to not rely on pidof

Evidently, pidof is not available on certain Mac systems. This commit
switches to pgrep with arguments such that it will only match the actual
cjdns process, and not the script itself, as was problematic in certain
other implementations.

Where $CJDNS is the path to the CJDNS executable:

    pgrep -d " " -f "$CJDNS"

This will output a space-delimited list of process IDs matching the path
to the CJDNS executable. This could be robustified (but perhaps broken
in future versions) by adding [angel|core] to the regex as follows.

    pgrep -d " " -f "$CJDNS [angel|core]"
Remove fork in script to capture exit status

The purpose of this commit is to improve user output when invoking
start(). It removes the fork when starting cjdns so as to capture the
output status. The fork has been irrelevant since the time angel and
core were forked off of the main invocation.

In addition, it prints a brief error message explaining the output to
the user, assuming the startup fails.

    "Failed to start. (CJDNS already running?)"
Removed compatibility for protocol version 0
Don't try a failed non-handshake as a handshake.
Removed testing code.
VersionList always claimed that all nodes were protocol version 0, fixed
More work on protocolv2
Assume nodes are protocol v1 by default and ignore v1 nodes' version hints because they're wrong.
Merged protocolv2
Removed a stray printf() which I forgot about at least 10 times.
Log the version of a node when it replies to a ping.
Disable AppleSecRandomCopyBytesRandomSeed in OSX 10.6. Fix #199
Fixed completely broken layer3 communications
Merge branch 'master' of git://github.com/clehner/cjdns
Merge branch 'script-change' of git://github.com/SashaCrofter/cjdns
Fixed patch which is broken on linux
Removed AppleSecRandomCopyBytesRandomSeed because it's breaking apple users