Novak Djokovic er klar for finalen i Roland-Garros etter å ha slått gruskongen Rafael Nadal 3-1 i sett.