Sandbox cURL, generally make it possible to test

For make benefit glorious team of Fundraising, we're going to use a sane test
setup in the near future, including sandboxing cURL requests if a global
$wgDonationInterfaceTestMode is set to true.

We also push in some fakesauce HTML form to make it possible to fake a failure
and a success without doing anything too complicated - likely we'll want to
change this to do some actual sanity checking on e.g. return values from a
fake GET_ORDERSTATUS request, but I just wanted to get this working for the
time being.

Bonus: Refactored some things so that the code won't even load the fake-
request modules when not configured for testing. Also, we subclassed the
GlobalCollect adapter, so the normal curl_transaction doesn't have a bunch of
cruft in it.

Bug: 48270
Change-Id: I450bb7ff97eae01996709bf720399f91c1885672
Merge "Sandbox cURL, generally make it possible to test"