Support "unsymbolizable" strings as attribute names

When generating the `_fast_attributes` method, attribute names that could not be represented as symbols (at least without escaping) would throw parsing errors.

For instance:

```ruby
user_id: :"user-id"
```

Throws an exception when serializing:

```
NoMethodError:
  undefined method `-' for :user:Symbol
```

Kinda bummed about the complexity in generating that `_fast_attributes` method. Is that for method caching fanciness?