Dear Isaac, with all my respect, I don't think that Marek is answering your question. You're primarily asking why it's integer, right?
First, $l$ can be both positive or negative integer. If $l=-10$, for example, $l(l+1)=90$ is clearly the same number as $l(l+1)$ for $l=9$. If you replace $l$ by $-1-l$, you get the same value of $l(l+1)$. The value $l=-1$ is equivalent to $l=0$, $l=-2$ is equivalent to $l=+1$, and so on. These eigenvalues of $l(l+1)$ are equal so the corresponding solutions shouldn't be double-counted.
Now, why $l$ is an integer.
Confusingly, it's because how the Legendre polynomials work:
http://en.wikipedia.org/wiki/Legendre_polynomials
It just happens that for integer values of $l$, the function $\Theta$ is non-singular for $\sin\theta=\pm 1$. Surprisingly, the same condition - integrality of $l$ - guarantees that the function $\Theta$ reduces to a polynomial.
Clearly, this doesn't explain anything because I would have to use some maths to prove the propositions in the previous paragraph. There is a very transparent, more physical explanation why it's so. The operator acting on your $\Theta$ function - on the left-hand side - is $-\vec L\cdot \vec L$, usually denoted as $L^2$, and this operator has eigenvalues $l(l+1)$ for integer values of $l$. Why?
It's because one may write
$$ L^2 = L_- L_+ + L_z^2 + L_z $$
where $L_{\pm} = L_x\pm i L_y$. The last term, $L_z$, has to be added because $L_+ L_-$ was only written in one order and $L_x,L_y$ (or, equivalently, $L_+,L_-$) don't commute with each other - their commutator is $i L_z$ (in $\hbar=1$ units).
Now, $L\pm$ commute with $L^2$, so the state $L^+ |\psi\rangle$ has the same eigenvalue of $L^2$ as $|\psi\rangle$ itself. However, the eigenvalue of $L_z$ of the former state - with the action of $L_+$ - is greater by one than the $L_z$ eigenvalue of $|\psi\rangle$ itself.
Act with $L^+$ as many times as you need to get zero. You eventually have to get zero because the eigenvalue of $L_z^2$ can't be greater than the eigenvalue of $L^2$. When you get to the state with the maximum eigenvalue of $L_z$ which is non-vanishing, you will have $L_+|\psi\rangle = 0$, so the first term in the formula for $L^2$ above will vanish. The remaining terms will give you $l(l+1)$ where $l$ is the maximum value of $L_z$ that you can get from the original state by actions of $L_+$. That's called the orbital angular momentum.
In a similar way, I can act with $L_-$ to get to the minimum value of $L_z$. This minimum value of $L_z$ has to be the minus the maximum value, by rotational symmetry or by the $l\to -1-l$ symmetry above. So the difference between the maximum and minimum values of $L_z$ has to be integer - because $L_\pm$ was changing $L_z$ by steps equal to one. It follows that $l$ has to be either half-integer or integer.
However, only integer values are possible for orbital angular momentum because $L_z$ has to be integer because the $\phi$-dependent wave function $\exp(im\phi)$ is only single-valued on the circle for integer values of $m$. That's why for orbital wave functions all eigenvalues $L_z$ are integer, and because $l$ is defined as the maximum $L_z$ in the "multiplet" of states that can be obtained from each other by the action of $L_\pm$, it follows that $l$ is integer, too. The formula for $L^2$ above guarantees that its eigenvalue is $l(l+1)$ for this integer $l$.