Adds named arguments and implements them in getLog()

Implements named arguments and adds supports for most of the arguments to git-log.  Usage is demonstrated in the unit tests.  My main use case is for setting up JSON input/output for REST APIs, along with some CLI management tools.

This ended up not needing to impact the function signatures directly, as using func_get_args to do parsing ended up being cleanest way to go.

It's a bit clunky having the argument parsers smack in the middle of the git repo class; there aren't any dependencies in it.  Do you have a better spot in mind for them?