WIP: refactor list_controller

__PLEASE NOTE:__ this pull request is not ready yet - need to clarify `SiteSetting.top_menu` usage in original code, see inline comment in the code diff

Wasn't sure if here or on meta was a better place to discuss code, figured github is more suited to discussing code?

Refactors list_controller
- category action 
- category_feed action
- fixes defect where check was for literal string 'uncategorized' instead of `SiteSetting.uncategorized_name`
- refactors define_method topic actions, see inline code diff comment

Code Climate grade:
- improves ListController from D to A