Fix vote limiting by ID

Uses the `X-Forwarded-For` header to determine users' IP addresses, instead of naively using Heroku's internal IPs, so duplicate votes are now correctly prevented.

Fixes a bug that would cause a title to be un-votable by all users once a user who has voted for it reloads the page. (`var newTitle = title;` was creating a reference, but we needed a copy of the original title object.)

Makes some minor style improvements.

`var title` was not being declared down here, but was being assigned a value (with a different purpose) it at the beginning of the function, which made the scoping and intent unclear to me.