Add fallback for child name if its nil

If a child's data was `nil`, no condition would apply in `data_name`. This adds a fallback to just return `data_token` if all else fails.

Added a test would previously fail. That test case would actually produce a *blank* key before:

`"{\"bar\":{\"\":null}}"`

edit: Forgot to mention that this was made worse by my #551 PR since `to_sym` would error on `nil`.