Merge branch 'nd/magic-pathspecs' into pu

Migrate the rest of codebase to use "struct pathspec" more.

* nd/magic-pathspecs: (46 commits)
  fixup
  Rename field "raw" to "_raw" in struct pathspec
  pathspec: support :(glob) syntax
  pathspec: make --literal-pathspecs disable pathspec magic
  pathspec: support :(literal) syntax for noglob pathspec
  Kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
  parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
  parse_pathspec: make sure the prefix part is wildcard-free
  tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
  Remove match_pathspec() in favor of match_pathspec_depth()
  Remove init_pathspec() in favor of parse_pathspec()
  Remove diff_tree_{setup,release}_paths
  Convert common_prefix() to use struct pathspec
  Convert add_files_to_cache to take struct pathspec
  Convert {read,fill}_directory to take struct pathspec
  Convert refresh_index to take struct pathspec
  Convert report_path_error to take struct pathspec
  checkout: convert read_tree_some to take struct pathspec
  Convert unmerge_cache to take struct pathspec
  Convert run_add_interactive to use struct pathspec
  ...
Merge branch 'ja/directory-attrs' into pu

Expose but not fix a recent regression that started not matching a
directory "sub" with gitattributes pattern "sub" (without trailing
slash).

* ja/directory-attrs:
  trailing slash required in .gitattributes
Merge branch 'sr/am-show-final-message-in-applying-indicator' into pu

* sr/am-show-final-message-in-applying-indicator:
  git-am: show the final log message on "Applying:" indicator
Merge branch 'tr/line-log' into pu

Rerolled; collides with nd/magic-pathspecs.
Does not seem to pass its own test (t4211-line-log.sh).

* tr/line-log:
  Speed up log -L... -M
  log -L: :pattern:file syntax to find by funcname
  Implement line-history search (git log -L)
  Export rewrite_parents() for 'log -L'
  fixup
  Refactor parse_loc
Merge branch 'yd/doc-merge-annotated-tag' into pu

* yd/doc-merge-annotated-tag:
  Documentation: merging a tag is a special case
Merge branch 'yd/doc-is-in-asciidoc' into pu

* yd/doc-is-in-asciidoc:
  CodingGuidelines: our documents are in AsciiDoc
Merge branch 'jc/apply-ws-fix-tab-in-indent' into pu

* jc/apply-ws-fix-tab-in-indent:
  apply --whitespace=fix: avoid running over the postimage buffer
Merge branch 'jk/no-more-self-assignment' into pu

* jk/no-more-self-assignment:
  match-trees: drop "x = x" initializations
  submodule: clarify logic in show_submodule_summary