By default make the scheduled job a singleton job
Now the asynchronous calls to schedule or remove a ScheduledJob return
ExecutorCompletionService which can be used to determine if the task
(scheduling or removing the job) is finished.

We use the pool(long, TimeUnit) methond in schedule and remove methods
in the TorqueBox::ScheduledJob module. By default we'll wait 10 seconds
for the task to finish, but it's configurable by passwing the :wait
parameter to the schedule or remove calls. Specified value must be in
miliseconds.

TorqueBox::ScheduledJob.remove('JobClass', :wait => 5_000)
Make the remove and schedule calls remove true when the task finishes
successfully and false in case of timeout.

Updated docs to reflect the changes.
Fix the location of the module
Added back installing MBean for the job service
Try to force the job replacement timeout spec to actually timeout