to_key doesn't always return an array, breaking to_param on certain case...

...s

Noticed when using activeresource using a "singleton" API: it is persisted
but doesn't have an id - while the method assumes all persistent models have id.

The `to_key` previously (in 3.2) returns an array of nil - `[nil]` - when `instance.id` returns `nil`.