Overlord - Iteration 2

In this second iteration, I made all of the changes suggested in the first iteration, except changing the case statement in `bomb.rb`. After discussing it with Joe, he said it was okay for this implementation.

Below are the main changes I made in this iteration:

1. Create another feature spec: deactivate_bomb.feature.

2. Add descriptions to Feature files.

3. Make methods private in `bomb.rb` that aren't used outside the class.

4. Condensed many of the specs in my Feature files to read better; in the process I moved the detailed steps of many Givens, Whens, and Thens to `add_task_steps.rb`.

5. Reorganized `add_task_steps.rb` to place Givens, Whens, and Thens in order.

6. I improved the logic (I think!) of determining whether to use the user supplied codes or to use the default codes with the following methods: `#valid_code' and `#initialize`.

7. Added a Feature to check that the bomb is unusable after it explodes.

Thanks!
Minor detail:  Try being consistent with your naming (deactivation vs. de-activation).