settings: refactor for readability and update tests

Signed-off-by: David Aguilar <davvid@gmail.com>
tests: speed up the worst test

We are testing unix signal handling using alarm(), which only takes
integer seconds, but the extra 0.4 seconds is too long.

Signed-off-by: David Aguilar <davvid@gmail.com>
git: make trace=full output contain stderr

Signed-off-by: David Aguilar <davvid@gmail.com>
git: replace wanky lambda with functools.partial

functools.partial is better than a lambda.

Cache the __getattr__ calls using setattr, which speeds up all further
calls to git.foo().

Signed-off-by: David Aguilar <davvid@gmail.com>
app: hide the -session flag from the usage

The -session flag is intended for X Session Managers, not humans.

Signed-off-by: David Aguilar <davvid@gmail.com>
git-cola: allow "git cola rebase -i"

I always typo "git cola rebase -i foo" instead of "git cola rebase foo"
so we might as well make the flag a no-op.

Signed-off-by: David Aguilar <davvid@gmail.com>