Made the online backup timeout configurable.

On the backup client side, a use-specified backup timeout could be
passed in when creating a new client instance. The timeout could either
be specified via command line (BackupTool) or Backup API (OnlineBackup).