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.