Cleans up execute_job

A while back I submitted [a PR](https://github.com/mperham/sidekiq/pull/1938) that exposed a way to customize how a job was executed, in so much as how perform was actually called on the worker. I duplicated that in the sidekiq/testing, and have since determined that was a mistake and am rectifying that here.

In doing what I talk about in that original PR, I realized there was still some finagling to get it to behave correctly for the specs, and then I realized that it wasn't very unified and didn't push through to the actual functionality that I wanted to make sure was working -- after some back and forth (captured on https://github.com/mperham/sidekiq/pull/2097) @mperham decided he'd rather remove it.

Also cleans up the drain method in the test harness.
That makes two of us. 


> On Dec 26, 2014, at 12:03, Jeremy Jackson <notifications@github.com> wrote:
> 
> In lib/sidekiq/processor.rb:
> 
> > @@ -71,10 +71,6 @@ def inspect
> >        "<Processor##{object_id.to_s(16)}>"
> >      end
> >  
> > -    def execute_job(worker, cloned_args)
> at this point I don't think you understand the issue this poses, but ok.
> 
> —
> Reply to this email directly or view it on GitHub.
>