Add #has_key? to RecursiveClosedStruct

Currently the only way to check to see if the struct has a value is to try and read it and catch the NoMethodError that gets thrown. This method makes it easier to do some logic on the presence or absence of a value.

I am not 100% sold on the method name `has_key?` and am happy to change it to something else.