added feature to allow clients to declare their version to server

I backported the change from maint into maint-1.2 .  This change makes the 1.2 client work in the situation where a 1.3 client has been used to sync with a server then rolled back to a 1.2 version.  We're running into this a lot as we're testing 1.3 in parallel with our existing infrastructure.