Add DeleteSubjectJob to allow to schedule a DeferredJob

CRAP: 14
CC: 100%

The removal of a subject from the Store is being moved into a
`DeleteSubjectJob` and if necessary can be scheduled as `DeferredJob`
(enables to run deletion as background job).

Prior SMW 1.9, the subject deletion did not initiate any clean-up of
possible associate subjects therefore the
`smwgDeleteSubjectWithAssociatesRefresh` setting will allow to refresh
entities that are connected to the deleted subject.

Since a subject may be connected to a large group of associates, it is
advisable that `smwgDeleteSubjectAsDeferredJob` is set TRUE in order to
avoid any performance (or even runtime error) during the deletion process.

In case the deletion is executed as `DeferredJob` it is suggested that
the JobQueue is being run repeatedly within a narrow time frame to avoid
an increased backlog.

### Legacy (default) setting
$GLOBALS['smwgOnDeleteAction'] = array(
	'smwgDeleteSubjectAsDeferredJob' => false,
	'smwgDeleteSubjectWithAssociatesRefresh' => false,
);