Guard against failures when the keys are read or written during a hijacked #initialize before we've gotten to run our own #initialize. Closes #531. Closes pluginaweek/state_machine#268.
Only use @_dynamic_attributes for actual dynamic attributes. Prevents desync between instance variable attributes and dynamic attributes.

Unalias keys before writing
Generate ivars for all keys that have valid ruby names to preserve backwards compatibility with 0.12.0. This commit should be reverted for 1.0.0.
Test #ivar rather than #valid_ruby_name? for speed and clarity