(Bug 4844) Pass in a $log sub

So that context may determine where this warning should be printed.
Merge pull request #226 from afuna/importer-log-bug4844

(Bug 4844) Pass in a $log sub
(Bug 105) Lowercase the keys for get and post args
(Bug 105) Use DW::Request's get_args instead of passing in %GET

Lets us take advantage of preprocessing and cleanup -- in this case,
lower casing of the keys.
(Bug 4753) Add fallback for displaying icons in IE8 on new comment pages
(Bug 4740) Fixed potential unsafe color combinations in comment reply form and screened comments
(Bug 4847) : Changed FanFiction user icon from .ico to .png version of
favicon.
(Bug 4865) Temporary fail the import if we weren't able to load a user

* fail the import with a list of users we couldn't load, if we weren't
  able to load users from the remote site
* fix bug which prevented us from retrying users after they've timed out
  once

Based on discussion over at dreamwidth/dw-free#198:

The error is caused by the openid user ($ou) not actually existing. The
most common reason is that we timed out while fetching data on the $ou.

We can't just let the importer continue in this case, because that would
make the comment be posted (wrongly) as by an anonymous user. So we've
decided to make the import temp-fail with the list of users we failed
on. We can pick it up again on a retry.

Problem again: subtle bug meant that once we failed to fetch a
particular user, we never again retried. If it timed out, we returned
(and stored in the db) 0, instead of NULL. Later on, when retrieving the
values, we check for defined-ness. Fix is to set an explicit return
undef for the future. For existing cases, we check for truth value of
$oid, instead of defined-ness. (This also means that we finally log data
on this user if something goes wrong)

Note that the temp-fail listed above means that a problem user which we
somehow never fetch, could still cause all imports where they commented
to fail entirely. But now we know who they are, and we have a working
retry mechanism in place to guard against timeouts.

*If* the retries don't work for some unforeseen reason, we have
something to work with once the repeated failure to import has been
reported.
Merge pull request #235 from swaldman3/4847_favicons

(Bug 4847) : Changed FanFiction user icon from .ico to .png version of favicon
Merge pull request #234 from momijizukamori/Bug4740/BasesColors

(Bug 4740) Fixed potential unsafe color combinations in comment reply fo...
Merge pull request #237 from afuna/importer-claimed_by-bug4854

(Bug 4865) Temporary fail the import if we weren't able to load a user
Merge pull request #231 from afuna/lowercase-keys-bug105

(Bug 105) Lowercase the keys for get and post args
Merge branch 'release-1.13' into develop

* release-1.13:
  (Bug 4865) Temporary fail the import if we weren't able to load a user
  (Bug 4844) Pass in a $log sub
Merge pull request #233 from momijizukamori/Bug4753/S2IE8Fix

(Bug 4753) Add fallback for displaying icons in IE8 on new comment pages
(Bug 4852) Allow embedding of project videos from Kickstarter
Merge pull request #238 from afuna/kickstarter-video-embed-bug4852

(Bug 4852) Allow embedding of project videos from Kickstarter
(Bug 105) Save getargs into $opts for subs we call

The things we call expected the get args to be passed along with the
opts, so let's put it into opts.
Merge pull request #239 from afuna/fix-get-bug105

(Bug 105) Save getargs into $opts for subs we call
(Bug 4645) Make answer an arrayref instead of a string

Expected input changed; the test did not. Fixed!
Merge pull request #241 from afuna/textcaptcha-single-bug4645

(Bug 4645) Make answer an arrayref instead of a string