Separate git helpers

The git_helpers files has been getting long. Split into 4 different files
- git_command_helpers - any function that calls run_command or calls a function that does
- git_predicate_helpers - functions that return true/false
- git_required_status_helpers - functions that require a specific status and otherwise error
- git_status_helpers - functions that return anything but true/false

I propose to use the **object** on which something is done as the file name giver. These methods do something on branches, hence I would put them in the branch_helper.