There is no real "risk-free" rate.
Now to answer your question, $r$ is time-dependent and should correspond to the repo rate corresponding to the maturity of your forward. In $I$, dividends should be "discounted" using the same time-dependent repo rate. Contrary to what others have suggested here, the use of an OIS rate or some other rate is not appropriate, otherwise arbitrage is possible.
Each dividend may not be discounted at the same rate, but the discounting will correspond to an interpolation of the equity repo rates.
As @ilovevolatility mentioned, the logic behind what I describe above is proved in Piterbarg paper Funding Beyond Discounting published in Risk Magazine, really a must read paper on the subject.
Finally, the price of an equity forward is an ambiguous terminology. What Hull refers to is the forward price. In reality, the NPV for an equity forward will include a strike price and an additional discounting, typically using OIS rate $r_c$:
$ NPV = e^{-r_c (T-t)}\left(e^{r (T-t)}(S(t)-I) - K \right)$