[FIX] API: Don't set 'redirect' value if it couldn't be returned

All values, except 'redirect', were only modified in api.update_page, if they
were present. So if they weren't present because they weren't requested, they
were left untouched. But the 'redirect' property could signal two states if it
wasn't present: False or not requested. It treated it as it was always
requested so it stated the redirect status as false, if not 'prop=info' was
requested first.

This fix only updates 'redirect' if it has been requested which is determined
by the value for 'prop' used. If another value is added which is only returned
for a specific 'prop' value this can be used there too. For anything else,
where it's save to check if it is present and apply changes an empty list does
suffice.

Bug: 71104
Change-Id: I6224ca5c3de9ba78362681182f9dcc3b384af5ce
Merge "[FIX] API: Don't set 'redirect' value if it couldn't be returned"