(#18234) Booleans used from within hashes not working correctly.

Returns false instead of undef when a key correctly exists and contains a false value.
Also includes parser test cases for boolean values within hashes.