Delete should respect 'limit'

rebase of https://github.com/rails/arel/pull/104