Efficent remove_delayed implementation

Using Redis keys command could be really dangerous: it may ruin performance when it is executed against large databases. See the 'Warning' section at http://redis.io/commands/keys.

In the attached commits, for every job a set keeps track of the delayed keys where it appears. This obviously stores redundant data but makes remove_delayed performance savvy.