diff-hl-dired-update: Only process the results once
diff-hl-fringe-bmp-function: New option

* diff-hl-define-bitmaps: Add new bitmaps.
* diff-hl-fringe-bmp-from-pos, diff-hl-fringe-bmp-from-type: New functions.
* diff-hl-fringe-spec: Include fringe-bmp-function in the hash key.
diff-hl-dired-highlight-items: Use diff-hl-fringe-bmp-from-type
diff-hl-unknown: Inherit from diff-header

Its background color lightness matches others better.
* diff-hl-add-highlighting: Return the overlay
* diff-hl-dired-highlight-items: Make sure the overlay will disappear
  if the file is deleted.
diff-hl-define-bitmaps: Fix the latest additions
Scale to non-default fringe sizes better
* diff-hl-mode: Extract diff-hl-maybe-define-bitmaps.
* diff-hl-dired-mode: Use it.

#6