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.

`new Number` creates an a wrapper object, which is rarely what you'd want. Instead, just use `Number` to convert to a primitive value.