more conservative Struct#to_hash

As the modified test shows, a list<string> would not work because
String#to_hash doesn't exist. Solution: don't call String#to_hash
Merge pull request #24 from gvaughn/safer_to_hash

more conservative Struct#to_hash