Add the client side of the backup API.

This builds on the work of Michael Foord.  I've reorganized the code a little, added tests and factored out the raw RPC code from the backup client code.  (The raw RPC can later be re-used by the other 2 client methods that currently duplicate the code.)
I appreciate the feedback but I'm still not clear on why it's a problem.  Personally I find that the comments delineating different groups of tests are helpful, particularly since Go really doesn't seem to give a better alternative to grouping.  If it's an issue of precedent, I'd be glad to set one. :)