First: you should really read some basic theory of autocorrelation. For example.
I also don't know why we subtract the mean
First, to substractsubtract the mean is the usual and right thing to do -– it's so standard that often it is straightly assumed that the signal has zero mean. Recall that the covariance of two variables is $E[ (x-\mu_x)(y-\mu_y)]$ -– of which the variance is a special case. Here we are assuming that the process is stationary, so the mean is constant.
I don't really see what a negative correlation would entail.
The correlation (as the covariance) can be positive, zero or negative. A negative correlation says that the values tend to have opposite values, that is: when X has a "big value" (relative to the mean), then it's more probable that Y has a "small value" (relative to the mean). If the correlation is positive, then's the reverse.
However, I don't see why we divide by the variance.
You don't have to. You divide by it if you want a normalized correlation (rather: a correlation coefficient), that will be in the $[-1 1]$$[-1, 1]$ range.
I understand why we divide by $(n−k)$...
Actually you have two alternatives here: if you divide by $(n-k)$ you get an unbiased estimator (good), but, you get large variance (the "noise" you see in the graph) for large values of $k$ (bad; however, one is often interested only in the correlation for small values of $k$). Alternatively, one can divide by $n$; this produce a biased estimator but better behaved (lower variance) for large $k$. This is also explained here or in any textbook about correlation estimators.