Handle UndefinedConversionError when converting to utf-8

From: http://ruby-doc.org/core-2.0/String.html#method-i-encode

Ducktypes for having encode rather than relying on RUBY_VERSION
Remove unused variable
Fix tests for basic encoding
needs _spec.rb to be run by `rake spec`
Graceful failure of new_comment route

Fixes https://github.com/mysociety/alaveteli/issues/662

If /annotate/request/:url_title is accessed when comments are disabled
an exception is incorrectly thrown.

Conditionals should be used for control flow, so now the action
redirects to the info_request path and displays a notice.
Extract find_info_request from CommentController

Use a before_filter to make @info_request available to all filters
called on the same action
Extract create_track_thing from CommentController

Use a before_filter to make @track_thing available to all filters
called on the same action and remove responsibility from the #new method
Use filter to reject unless comments allowed

Extract checking whether comments are allowed on an InfoRequest to a
filter in CommentController.

Removes responsibility from the #new method.
Use filter to reject if user is banned

Extract checking whether a user is banned from making Comments on an
InfoRequest to a filter in CommentController.

Removes responsibility from the #new method.

Adds a missing spec.
Remove redundant h() calls

Text will be escaped by default in Rails 3
Merge branch 'issues/662' into rails-3-develop
Handle the case where the current locale isn't in site list

We only really want to redirect people to live sites, so pre-launch
sites don't belong in WorldFOIWebsites. Handle the case where the
current locale isn't there. Closes #1345.
Merge branch 'feature/1345-other-country-fallback' into rails-3-develop
Merge branch 'rails-3-develop' of ssh://git.mysociety.org/data/git/public/alaveteli into rails-3-develop
Merge remote-tracking branch 'opennewzealand_github/feature/handle-undefined-conversion' into rails-3-develop
Rename spec files so they're run by rake spec.
Add encoding line
Only pass InfoRequestEvent to _request_listing_via_event template

The InfoRequest is always the one associated with the event.
Refactor event description to make it easier to translate.

Closes #1313 and #365.
Fix typo on request admin page