Introduce is_bare_repository() and core.bare configuration variable

This removes the old is_bare_git_dir(const char *) to ask if a
directory, if it is a GIT_DIR, is a bare repository, and
replaces it with is_bare_repository(void *).  The function looks
at core.bare configuration variable if exists but uses the old
heuristics: if it is ".git" or ends with "/.git", then it does
not look like a bare repository, otherwise it does.

Signed-off-by: Junio C Hamano <junkio@cox.net>
diff --git a/refs.c b/refs.c
index b5eee11..499086b 100644
--- a/refs.c
+++ b/refs.c
@@ -924,7 +924,7 @@
 	const char *committer;
 
 	if (log_all_ref_updates < 0)
-		log_all_ref_updates = !is_bare_git_dir(get_git_dir());
+		log_all_ref_updates = !is_bare_repository();
 
 	if (log_all_ref_updates &&
 	    (!strncmp(lock->ref_name, "refs/heads/", 11) ||