Add choices for the --check-commit-status option in merge commands

- Allowed choices are 'none', 'no-error', 'success-only'
- Fix the corresponding unit tests
Fix duplicate test names
Add extra granularite to get_last_commit() and get_last_status()

Allows to specify wether the commit and/or status should be retrieved
on the base repository or head repository.
Propagate new check-commit-status options to find_candidates()

- Add log information when parsing filters
- Extend exclusion condition depending on the filter and status
- Falls back to reading the head repo status if no status on the base repo
- Improve the status-excluded PRs digest by exposing the read status
Closes #105
Expose ref to create_status() function and set to "base" by default
Add integration tests for the new --check-commit-status options
Fix failing testRemote test caused by `TestMerge.merge()` refactoring
Merge pull request #107 from sbesson/status_improvements

Add additional choices in --check-commit-status