Cover new logic in self.valid_response? w/ specs

Tests the following:

- If no response is set, set the response to the default option if
a default option is passed in

- Downcase both the response typed in by the user and all options set
programatically so that they will have a higher likelyhood of matching.
  - However, if a response is set programatically do not destructively
downcase it. Note: I'm not entirely sure why, but unless I added this
guard clause to not downcase a passed in option I couldn't set branch
names on the command line directly. It would hang and prompt for
a name.