Allow for a block with real-time callbacks instead of symbols indicating method path.

So, if you had a real-time index on Post, and you have a User model with many posts, and when a user is updated, you want the corresponding posts to update in Sphinx, you would have had the following:

    ThinkingSphinx::RealTime.callback_for(:post, [:posts])

But, if each post is loading other objects (say, a category), then the SQL behind this can get expensive quickly. Using a block instead of symbols allows you to be more flexible. A simple replacement:

    ThinkingSphinx::RealTime.callback_for(:post) { |user| user.posts }

Or, with preloading:

    ThinkingSphinx::RealTime.callback_for(:post) { |user| user.posts.include(:category) }

The array of method paths will still work, but only if the block is not provided (as it takes precedence). See #796.