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.

- Stop init from being called twice when run without --force and
a .zenflow config is present
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.
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.