Eliminate allocations in run_callbacks

If there are a large number of models running callbacks, which is
possible multiple nested levels of autosave assocations, the short-lived
objects in this method can introduce non-negligible GC pressure.

As far as I know, kind will always be a symbol, so the to_s conversion
is unnecessary.

We can also pull the array to a constant which is allocated once, ever,
instead of once per model/request.
Use the constant "KINDS" instead of undefined "kinds"
Merge pull request #138 from samwgoldman/callback_allocations

Eliminate allocations in run_callbacks