Check for array_key_exists in SettingsArray before throwing

This is needed as PHP says the offset exists if the value
is null, while HHVM claims it doesn't (which is in accordance
to the PHP manual, in contrast to PHP's own behaviour).

Bug: 63655
Change-Id: I857f7ba4efcde911cee56b5fc8162238fa37bf28