git-workarea 4.1.0

Simple routines to work with git repositories and set up minimal workareas with them.
Documentation
# v4.1.0

  * Arguments taking `AsRef<Path>` are now `Into<PathBuf>` if the
    implementation ends up owning the parameter anyays.
  * `GitContext::default_branch` can determine the "default" branch name for a
    checkout. This uses a new configuration parameter in Git and falls back to
    asking the `origin` remote or the `HEAD` symbolic ref if all else fails.
  * When resolving submodule conflicts, the submodule's default branch (as
    determined by the new `default_branch` method) is now used rather than
    assuming it is named `master`.

# v4.0.0

  * The `MergeCommand::author_date` method now takes a `DateTime<Utc>` rather
    than a reference.
  * The `GitWorkArea::checkout` method now requires a mutable reference. This
    is because checking out locks the index which means that it cannot be
    shared while performing this action.
  * The lifetime for merging has been moved to the `MergeCommand` structure.
    This prevents the command from outliving the workarea it uses for conflict
    files.
  * `error-chain` is no longer used. Instead, custom error types are used. This
    means that errors from this crate no longer allocate (except where a
    `String` needs to be stored for messaging purposes).
  * `Into<String>` is used for `CommitId` and `Identity` construction methods.

# v3.1.2

  * More submodule name/path mismatch fixes.

# v3.1.1

  * Submodules which have different names and paths are now properly handled.

# v3.1.0

  * Added support for "update merges". This is equivalent to using the `ours`
    merge strategy.
  * Checking out files now accepts an iterator over pathspecs.

# v3.0.0

  * Bump `chrono` from `0.3` to `0.4`. This is required for compatibility with
    `serde-1.0`.

# v2.0.0

  * Support checking out files into a prepared workarea.
  * Add `MergeCommand` to handle creation of the merge commit.
  * `GitContext::fetch` now supports an iterator over refnames.
  * Renamed `PreparedGitWorkArea` to `GitWorkArea`.

# v1.0.1

  * Documentation fixes.

# v1.0.0

  * Initial stable release.