[2.2] 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 be passed via command line (BackupTool) or Backup API (OnlineBackup).
Instead of duplicating all these methods, we could opt for making use of the already fluent style of OnlineBackup, so that there would be added one method:
````
public OnlineBackup withTimeout( long timeoutMillis )
{
    this.timeout = timeoutMillis;
    return this;
}
````

where the existing methods would use that value which would have been initialized with the default value. Usage would look like:

````
OnlineBackup.from( "...." ).withTimeout( SECONDS.toMillis( 20 ) ).backup( ... );
````

might make things less messy. Just a thought.