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.
I think it's ok to leave as is. It's not going to change. 


> On Dec 26, 2014, at 11:49, 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)
> If we consider it a public api, we should call through to it from the test harness as my first pull request did. ;-P
> 
> Aside from that, we can leave it I guess, but then the tests won't reflect any real world changes that might be made within it.
> 
> —
> Reply to this email directly or view it on GitHub.
>