Spelling...

Corrected this spelling mistake.
Create enum, property and test for retry attempt

  - Added an enum, ```AttemptsExceededAction```
  - Added ```OnAttemptsExceededAction``` property
  - Added unit test to assert the ctor sets the correct default value
Refactor - extract method

Extract method from ```OnStateElection```, to move the logic to schedule the job again for later into a seperate private method. This should make changing the main logic a little easier.
Set the deleted state when retries exceeded

Fixes #104. When the retry attempt count exceedes the number of specified attempts, then the state should be transitioned to the ```DeletedState```.

Added implementation and and unit tests to verify the new behaviour.

  - Added a test to verify that when the retry attempt count is exceeded and ```OnAttemptsExceeded``` is set to ```Delete``` then the state is transitioned to the ```DeletedState```.
  - Added a test to verify that when the retry attempt count is exceeded, and ```OnAttemptsExceeded``` is set to ```Fail``` then the default behaviour of setting the state to the ```FailedState``` is performed.
  - Added a test to verify that we can specify that no automatic retries should be performed, by setting ```Attempts``` to 0, and that we can have the job automatically be deleted.
Fix formatting

Fix formatting issues - spaces, not tabs!
Merge pull request #182 from sgrassie/auto-delete-job-104

Add ability to automatically delete job when retry attempts exceeded