Fixes bug 1099249

Yes there is a slight functional difference. By always going though the url patterns with `reverse()` we avoid "hardcoding" any URLs in the templates or views. 
If, for some reason, we decide to change the URL to the page that lists *all* channels to be `/channels/all` instead of the existing `/channels/` then it would break your code because your URLS would become something like `/channels/allmain/` when it's supposed to be `/channels/main/`. So it's best to avoid the risk altogether and the only place to edit, if you decide to change what URLs look like, is in the `urls.py`.