Add support for ruby commands

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: add support for internal ruby programs

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind setup_git_directory()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind dwim_ref()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind git_config()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind read_ref()/peel_ref()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind get_sha1()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: add Commit class

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind get_merge_bases()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind remote and transport stuff

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind find_unique_abbrev()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind read_sha1_file()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
shortlog: add missing declaration

Otherwise we would have to include commit.h.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
shortlog: split builtin from common code

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: add RevInfo and DiffOptions

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind shortlog()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind diff_tree_sha1()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: bind log_tree_diff_flush()

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: add useful helpers

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
ruby: add simpler option parser

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>