new plugin: uniform status presentation in prompt for multiple vcs systems

This plugin is designed to provide a uniform prompt status that
accommodates multiple vcs systems. The intent is to have reasonable
defaults for displaying each element of work tree status but also the
flexibility to make modifications without copying and pasting entire
functions into your own theme (or reimplementing a function just to
change one aspect of its behavior).

FEATURE HIGHLIGHTS
- uniform PROMPT interface for multiple vcs types
  one addition to your PROMPT gets you all
- supports git, hg, svn
- indicators and (optional) counts for the primary dirty file types of
  each supported vcs (e.g. `1N 3A 2U` for 1 new, 3 added, 2 untracked)
  - inspired by the `git_status_prompt` function from lib/git.zsh
    - rewritten as inline awk script to:
      - optionally include counts for each dirty type
      - provide more readable code
      - move towards more modular code to support more vcs systems
- indicators for ahead-by and behind-by with counts; commits from
  upstream not yet merged or local commits not yet pushed,respectively
  (git-only for now)
- dirt age indicator to show how long it has been since a
  significant action in the work tree (i.e. commit, file edited)
  - reworked `git_time_since_commit` function found in multiple themes
  - now centralized in a plugin
  - and generalized to support hg and svn
- highly configurable, with many hooks for adding style information to
  each element
- can rearrange order of elements
- uses an associative array, VCS_PLUGIN, for (almost) all of its
  configuration settings
- incorporates functionally equivalent replacements of all functions from
  from the git, svn, and hg oh-my-zsh plugins (but not any of their
  aliases)
- handles ignored subdirectories of git work trees