stylistic refactorings
w/ less syntactic sugar
refactor list_controller

- minor refactoring of actions 'category' and 'category_feed'
- fix defect in 'category' where check was for literal
  string 'uncategorized' instead of SiteSetting.uncategorized_name
- major refactoring on defined topic actions
TopicLinkClick: convert 'ip' (bigint) -> 'ip_address' (inet)

When accessed over IPv6, the ip address of the user is a 128-bit number,
too big for PostgreSQL's bigint data type. Since PostgresSQL has the
built-in inet type, which handles both IPv4 and IPv6 addresses, we
should use that instead. Where this is done elsewhere in the codebase,
the column is called ip_address, so we should follow that convention as
well.

This migration uses a SQL command to populate the new field from the old
one, so as not to rely on the TopicLinkClick model class, which should
keep the migration from failing if that class is modified in the future.
views: convert 'ip' (bigint) -> 'ip_address' (inet)

This fixes all known issues when connecting to discourse over IPv6.

This table has no primary key, so the migration is done with update_all,
for each ip address in the views table. Since this table can potentially
grow quite large, this process might take a long time. I don't know any
way around this, though.

This migration uses a SQL command to populate the new field from the old
one, so as not to rely on the View model class, which should keep the
migration from failing if that class is modified in the future.
remove unneeded has_ip_address gem
Merge pull request #1088 from ComputerDruid/fix-ipv6

Fix ipv6 addresses in the database
Merge pull request #1089 from budnik/minor_refactorings

Some refactorings
Merge pull request #1057 from house9/list-controller-1

refactor list_controller