Add ghetto batching to the BlacklistUpdate

What this actually does is attempt to process as many entries as possible before hitting the
max_execution_time. Once hit, it saves the state and tries to finish it the next pageload.

Also adds a new config var $wgSFSBlacklistCacheDuration which allows the user to configure
how long the IP blacklist should be kept (default is 5 days).

Change-Id: I68ad1fbc476ad9ba9e98359caf40db7519dc14ad