Replace a generalized push with setcdr+cons+cdr.

Generalized variables are supported in push only since Emacs 24.3,
using primitive operations instead allows the code to work in older
versions, too.

The regression was introduced in 3dfd3fa9b1, fixes #46.