Integrate ActiveJob / DeliverLater / GlobalID with Rails

WIP.
We're testing retry_now and proper falling through of OtherError (there used to be abut there).

Accidental infinite loop because of retry_now, you mean? Doesn't the same go for the retry keyword? Rescuing from ArgumentError is a terrible idea anyway, and just here to illustrate rescue_from's re-enqueueing behavior.

Deserialization calls ActiveModel::GlobalLocator.locate, which calls Model.find, which could definitely raise ActiveRecord::RecordNotFound (https://github.com/rails/activemodel-globalid/blob/master/lib/active_model/global_locator.rb#L7). This is common enough that we don't want people to have to override the internal method execute, and besides, people know rescue_from from AC. Also see the discussion here: https://github.com/rails/activejob/issues/25 which went into another direction as for implementation but concerns the same issue.