As already mentioned in Fat32's answer, this filter definitely has a non-linear phase, because its impulse response is neither symmetric nor anti-symmetric. Note that the mean or average (group) delay can be defined in several ways, but I will use the following definition:
$$\tau_{av}=\frac{1}{\pi}\int_{0}^{\pi}\tau(\omega)d\omega\tag{1}$$
where the group delay is defined as the negative derivative of the phase:
$$\tau(\omega)=-\phi'(\omega)\tag{2}$$
I will show below the mildly surprising fact that for any value of $M$, $\tau_{av}=0$, i.e., the group delay always averages to zero.
It is important to note that the phase $\phi(\omega)$ in $(2)$ is the unwrapped phase. Combining $(1)$ and $(2)$ we get
$$\tau_{av}=\frac{1}{\pi}\big[\phi(0)-\phi(\pi)\big]\tag{3}$$
So we do not need to compute the group delay $\tau(\omega)$ nor the phase $\phi(\omega)$ for all $\omega$ in order to compute the average group delay. We just need two values of the unwrapped phase at frequencies $\omega=0$ and $\omega=\pi$.
Let's first find an expression for the frequency response:
$$H(e^{j\omega})=\frac{2}{M(M+1)}\sum_{n=0}^{M-1}(M-n)e^{-jn\omega}=\frac{2}{M(M+1)}e^{-jM\omega}\sum_{n=1}^{M}ne^{jn\omega}\tag{4}$$
It is straightforward, yet a bit tedious, to find a closed-form expression of $(4)$:
$$H(e^{j\omega})=\frac{2}{M(M+1)}\frac{Me^{2j\omega}-(M+1)e^{j\omega}+e^{-j(M-1)\omega}}{(1-e^{j\omega})^2},\quad\omega\neq 2k\pi, k\in\mathbb{Z}\tag{5}$$
WolframAlpha can be helpful in such cases. For $\omega=2k\pi$ we have
$$H(e^{j2k\pi})=H(1)=\frac{2}{M(M+1)}\sum_{n=1}^{M}n=1$$
and, consequently, $\phi(0)=\phi(2k\pi)=0$. Since the impulse response is real-valued, $H(e^{j\pi})$ must be real-valued as well and we must have $\phi(\pi)=k\pi$, $k\in\mathbb{Z}$. However, since $\phi(\omega)$ is the unwrapped phase, it is important to know the exact value of $k$ in order to evaluate $(3)$ correctly.
The frequency response $(5)$ can be rewritten as
$$H(e^{j\omega})=\frac{2}{M(M+1)}\frac{M(1-e^{j\omega})+1-e^{-jM\omega}}{4\sin(\omega/2)},\quad\omega\neq 2k\pi\tag{6}$$
Since for $\omega\in (0,\pi]$ the denominator of $(6)$ is real-valued and positive, the phase $\phi(\omega)=\arg\{H(e^{j\omega})\}$ equals the argument of the numerator:
$$\phi(\omega)=\arg\left\{M(1-e^{j\omega})+1-e^{-jM\omega}\right\},\quad\omega\neq 2k\pi\tag{7}$$
The real part of the expression inside the argument of $(7)$ is
$$M(1-\cos(\omega))+(1-\cos(M\omega))=2M\sin^2(\omega/2)+2\sin^2(M\omega/2)>0,\\\omega\neq 2k\pi\tag{8}$$
Since the real-part is always positive for $\omega\in(0,\pi]$, the phase must satisfy $-\pi/2<\phi(\omega)<\pi/2$. This is also true for $\omega=0$, where we already know that $\phi(0)=0$. Consequently, no phase wrapping occurs, and the requirements $\phi(\pi)=k\pi$ and $-\pi/2<\phi(\omega)<\pi/2$ are only satisfied for $k=0$, i.e., for $\phi(\pi)=0$. From $(3)$, with $\phi(0)=\phi(\pi)=0$ we must have
$$\tau_{av}=0\tag{6}$$
i.e., the average group delay equals zero.
The figure below shows the phase and group delay for $M=5$ and for $M=100$. Clearly, there is no phase wrapping and the phase always remains inside the interval $[-\pi/2,\pi/2]$. (Actually, it is quite straightforward to show that the phase always satisfies $-\pi/2<\phi(\omega)\le 0$, as can be seen in the plots below, but that is irrelevant for the computation of $\tau_{av}$). The group delay oscillates around its average of zero.

Note that since the impulse response is non-negative, another meaningful definition of the average delay is the center of gravity of the impulse response:
$$\tilde{\tau}_{av}=\frac{\displaystyle\sum_{n=1}^{M-1}nh[n]}{\displaystyle\sum_{n=0}^{M-1}h[n]}\tag{7}$$
We have
$$h[n]=\begin{cases}\frac{M-n}{\frac12 M(M+1)},&n=0,1,\ldots,M-1\\0,&\text{otherwise}\end{cases}\tag{8}$$
Using Faulhaber's formula for powers $p=1$ and $p=2$, it is rather straightforward to show that the average delay as defined by $(7)$ is given by
$$\tilde{\tau}_{av}=\frac{M-1}{3}\tag{9}$$
Compare this to the delay of a linear phase FIR filter of length $M$: $(M-1)/2$.
If this is a homework/exam problem, I assume that $(7)$ is the intended definition of average delay, because in that case the solution can be derived in a very straightforward way using basic math.