Provide backwards compatibility with 2.48
Provide backwards compatibility with 2.48

It turns out that given matching (or similar) OCaml versions, there is
compatibility between 2.51 and 2.48; the only real obstacle is the
connection header string which differs.

This patch provides mostly automatic backwards compatibility with 2.48
by 1) as a client, detecting the 2.48 header string; and 2) as a server,
outputting the 2.48 connection header string when in compatibility mode
and the executable name is "unison-2.48". The latter is the expected
executable name when the client uses the "-addversionno" preference.
Otherwise, when in compatibility mode, the server will output the 2.51
connection header string.

paulp/unison