Update MongoDBJobStore.java

Multiple fixes.

Fix misfire handling such that triggers whose next fire time after misfire handling is outside of the current acquisition time are no longer returned.

Support batches.  While I don't believe that batches add any efficiency with a Mongo back end, the back end should not break if the batches are used configured.  Supporting batches requires the recursion for lock retries to work properly and remember already acquired triggers.  Code must also not attempt to acquire a trigger it has already acquired.  After all recursion done, triggers must be resorted in ascending fire time.

When rescheduling a job, which uses replaceTrigger, do not use the removeTrigger method as it will remove the job also if the job is not durable.  

Update the slf4j logging to use parametrized messages such that the use of isDebugEnabled is not required.

If there is no next fire time, remove the trigger.  It is no longer required.