Fixed #299 Improve Retry behavior

1. Retry new replication session if previous session ends with error see ReplicationInternal.java
2. Apply same retry logic in a replication session. see RemoteRequestRetry.java
In case of OFFLINE, it ignores, and AndroidNetworkReachabilityManager will take care is.

I am not comfortable to add new trigger for state machine. So I just simplify the method. Following is simplified version.

protected void retryIfReady(){
        // check if state is still IDLE (ONLINE), then retry now.
        if(stateMachine.getState().equals(ReplicationState.IDLE)){
            Log.v(Log.TAG_SYNC, "%s RETRYING, to transfer missed revisions...", this);
            cancelRetryFuture();
            retry();
        }
    }