test/tests-branch-option.sh: New test for valid base branch

This is the ideal situation, with no error. The new option "--from-branch"
specifies what is the root branch which our branch of interest was forked
from.

In order to have this option well tested, we'll need error test cases like
"branch does not exist" or "--from-branch is not contained in --branch".
git_history_walker.py: Add the option --base-branch

This commit changes the minimum amount of code so that it uses the branch
specified by --base-branch instead of master. As a proof of that it works,
the test "test_branch_with_valid_base_branch" is now passing.
tests/tests-branch-option.sh: Test for nonexistent base branch

If the option --from-branch contains the name of a nonexistent branch,
the script should exit with an error code 3. From now on, this error code
will be used to represent any problem with the arguments passed to the
script.
git_history_walker.py: Add a verification of --from-branch option

This fixes the code so that it passes the test
`test_nonexistent_base_branch`.
Merge branch 'add-base-branch'