In a few functions (scudoMemalign and the like), we would call
ScudoAllocator::FailureHandler::OnBadRequest if the parameters didn't check
out. The issue is that if the allocator had not been initialized (eg: if this
is the first heap related function called), we would use variables like
allocator_may_return_null and exitcode that still had their default value
(as opposed to the one set by the user or the initialization path).
To solve this, we introduce handleBadRequest that will call initThreadMaybe,
allowing the options to be correctly initialized.
Unfortunately, the tests were passing because exitcode was still 0, so the
results looked like success. Change those tests to do what they were supposed
to.