Fall back to QEnvironmentHexEncoded if QEnvironment is not supported.
The latter packet is an LLDB extension, while the former is universally
supported.
Add tests for both QEnvironment and QEnvironmentHexEncoded packets,
including both use due to characters that need escaping and fallback
when QEnvironment is not supported.
Printing a quoted this in the case of a null pointer is exactly the opposite of what one would normally expect. It's not a big deal, since we control the inputs, but it may still be better to print <unset> or something like that instead...