Merge branches 'bf/remote-head', 'ab/pserver', 'jc/diff-relative', 'js/remote', 'jc/reflog-expire', 'jc/diff-pathspec', 'jc/nu' and 'jc/pathspec' into offcuts
* bf/remote-head:
git-remote: make add -f guess HEAD, as clone does
* ab/pserver:
Authentication support for pserver
* jc/diff-relative:
Make "diff" Porcelain output paths as relative to subdirectory.
* js/remote:
Make git-remote a builtin
Test "git remote show" and "git remote prune"
parseopt: add flag to stop on first non option
path-list: add functions to work with unsorted lists
* jc/reflog-expire:
reflog-expire: Avoid creating new files in a directory inside readdir(3) loop
* jc/diff-pathspec:
Making ce_path_match() more useful by accepting globs
* jc/nu:
merge-nu: a new merge backend without using unpack_trees()
read_tree: take an explicit index structure
gcc 4.2.1 -Werror -Wall -ansi -pedantic -std=c99: minimum fix
* jc/pathspec:
pathspec_can_match(): move it from builtin-ls-tree.c to tree.c
ls-tree.c: refactor show_recursive() and rename it.
tree-diff.c: split out a function to match a single pattern.