Integrate ActiveJob / DeliverLater / GlobalID with Rails

WIP.
> 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.

Yes, `retry` would have the same behavior. But which of these might look like there's an infinite loop?

```ruby
def perform(name)
  my_helper # oops! I forgot the arg
end
```

Or:

```ruby
def perform(name)
  my_helper # oops! I forgot the arg
rescue ArgumentError
  retry
end
```

Sorry, I think `rescue_from` is a bad idea in this context.  Surely rescuing some particular exception can't have the same logic for *every single method* in your object.  I don't mind if `rescue_from` is available in the job class, but we won't be using it in our apps.  I'd rather do it the OO way and inherit / call super.  If an exception is happening in an unexpected place, we should handle it in that one place, not some disconnected global way.

I'm unsure how a an AJ Job is so similar to a controller that it warrants the same justification for this feature.