Set better defaults & accept default w/ enter key

- The standard Unix convention for CLI prompting is that the upper case character be the default option without needing to specify any input (pressing enter will choose the default option for the user). This pull request allows for that to work.
Fix some specs, oops!

I can't get the init specs to work though when the 'exit' is in place.
However, without the exit in place the initialization loops. Any ideas?
Don't mess w/ a response that is directly passed in

This fixes a regression where zenflow would not accept the branch name directly in the 'zenflow feature start branch_name_here' command.
Move default option to lower case to follow convention
Stop init from being called twice 

…when run without --force and a .zenflow config is present
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.
Fix typo