UX: Improve username readability in search results

Avoid lower-case usernames in search results output to improve readability and accuracy - avoid users reading words that don't exist.
UX: Improve username readability in search results

Avoid lower-case usernames in search results output to improve readability and accuracy - avoid users reading words that don't exist.
FIX: email replies to closed topic should not be accepted
Merge pull request #2919 from techAPJ/patch-2

FIX: email replies to closed topic should not be accepted
Merge pull request #2917 from DeanMarkTaylor/patch-1

UX: Improve username readability in search results
Update list.rss.erb (unescape tag)
FIX: search was rendering incorrectly in safari mac
apply same fix to mobile
FEATURE: add max_reply_history to limit number of replies
that can be expanded, when clicking "in-reply-to"
Merge pull request #2920 from yomybaby/patch-1

Update list.rss.erb (unescape tag)
Rebuild Gemfile_master.lock based on the lastest Gemfile.lock
actionpack-action_caching was released a long time ago
Use Rails 4.2+ API for typecasting on master

Note: this is still considered a private (internal) API on Rails side and is
subject to change in the future.
Boolean -> String quoting has changed on Rails master

CustomField.create(name: 'zomg', value: true).reload.value # => 't' on Rails 4.1, '1' on 4.2

rails/rails@42be84ba
Avoid a deprecation warning by poly-filling #deliver_now and #deliver_now
HAX: force the lazy `MessageDelivery` object to create the mailer

Starting from Rails 4.2, calling MyMailer.some_method no longer result in an
immediate call to MyMailer#some_method. Instead, a "lazy proxy" is returned
(this is changed to support #deliver_later). As a quick hack to fix the test,
calling #message (or anything, really) would force the Mailer object to be
created and the method invoked.
HAX: Changed the test to avoid a PG overflow problem

In 4.2.0+, `#find_by` switched to using (cached!) prepared statements. As a side-
effect, doing out-of-range queries like `Topic.find_by(id: '9999999999999999999999999999')`
causes PG to complain instead of returning 0 rows. (Differece between sending
the literal 9999999999999999999 in a query and the quoted "9999999999999999999",
apparently.)

The intent of the original test was to test the "topic not found" case, so this
change itself is probably fine. However, this does mean that there is now a new
error scenario that is both unhanded and untested (strange URLs that happens to
look like an internal URL but with a totally invalid topic ID portion that is
not a valid PG integer).

This is totally stupid and should be fixed on Rails side as there isn't really
any good ways to work around this on our side other than testing `topic_id.to_i < 2147483647`
before passing it to `find_by`.
`Sprockets::Context` takes a `Pathname` for its third argument

Not sure what actually changed and why it was working before, but it now throws
a `NoMethodError` for `dirname` on `String` in `Context#resolve`
Use *_url instead of *_path to avoid a deprecation warning
HAX: check the `message` object, not the `MessageDelivery` object

See 669bf73 for background. It's probably better to rewrite these test without
using the internal `NullMail` class anyway.