Hints (please also let me know if I make any mistakes):
As above, one can show that all the roots of the polynomial are $0, -1$ or $1$. So we can factor the polynomial into
$$
x^a (x-1)^l (x+1)^k,
$$
with $a, l$ and $k$ summing up to $2016$.
Now, we can do brute-forcing on the values $l$ and $k$ can take, which will determine $a$ as well. It is much faster to see which values of $l$ and $k$ fail.
If $l = 0$ and $k \geq 2$, we get a contradiction since there is a coefficient that is not $1, 0$ or $-1$. Similarly, if $k= 0$ and $l \geq 2$.
If $l \neq 0$ and $k \neq 0$ and $l \geq k$, we put $p = \min(l,k)$ and $q = l-k$. Now we can rewrite the polynomial as:
$$
x^a (x^2 - 1)^p (x-1)^q.
$$
Discard the $x^a$ term. We only consider the expansion of $(x^2 - 1)^p (x-1)^q$. The coefficient of $x^{2p + q - 1}$ in this expansion is $\binom{q}{1}$. Hence, $q = 1$. Using $q = 1$, one can deduce (after some calculation) that $p = 1$.
Similarly, one can conclude the same when $k \geq l$.
This leaves you with a (very) finite set of values that $(l, k, a)$ can take. They are
$$
(0,0, 2016), (1, 0, 2015), (0, 1, 2015), (1, 1, 2014), (1,2, 2013), (2, 1, 2013).
$$