Better error messages when run outside of a git repository

- [ ] @kevgo 
- [ ] @charlierudolph

* reorganized the *configuration.sh*
  * moved helper functions into *configuration_helper.sh* so that *configuration.sh* is cleaner. It was difficult to see the logic being performed here
* if a Git Town command is being performed, show "This is not a git repository" where it makes sense (`git town`, `git town help`, and `git town version` should always work)
You could simplify this function name to `store_main_branch_name`. I'm actually not sure that we need a confirmation here. Most unix tools don't show one. The user should be safe to assume that the operation was successful unless she sees an error message.