Refactoring `Resque::JobPerformer#perform`

Split the method up into smaller methods, each witha  single
responsibility.  Added testing for the class and `#perform` method.
typo in README.md
Merge pull request #944 from kentor/patch-1

typo in README.md
Removing some un-need comments and correcting a typo
Merge pull request #943 from jaredonline/refactoring-perform

Refactoring `Resque::JobPerformer#perform`
Fix test_helper dependency, clean up test.
Adding test for kill.
Consistent cases.
Revert helper require, add test for #remove.
Merge pull request #947 from sshingler/cli-test

Adding test for CLI#kill
Adding a to_s and inspect test to worker.
typo.
Merge pull request #948 from sshingler/worker_test

Adding a quick test for the string representations of a worker
Fix worker_test failure under Ruby 1.8.7

* The reason why worker_test failed under 1.8.7 is `Hash#to_s` in 1.8.7
  is different from other versions(1.9/2.0).

  `{:a => 1}.to_s` under 1.8.7 is `a1`, but under 1.9/2.0 is `{:a=>1}`.

  And also, the original way to new a resque worker seems not right,
  we should pass either an array of queues' names or just one name,
  but not a Hash object.
Merge pull request #949 from larrylv/fix-worker-test-failure-under-1.8.7

Fix worker_test failure under Ruby 1.8.7
Use syntax highlighting in the readme file.
Merge pull request #950 from ming13/readme-syntax-highlighting

Use syntax highlighting in the readme file
Remove reconnect logic from worker.

introduces a new class, Client, which will handle Redis stuff from
now on. As such, it needs the reconnect logic.
Add tests around #reconnect for Client
Small refactoring on Client#reconnect

1. We don't need to check if we've already reconnected to reconnect, the redis gem handles that case
2. Let's not increment + test on the same line
3. if/else becomes if for simplicity