all: add readme and contributing documents
src: remove unnecessary or unknown lints

Several of these lints have been converted into hard errors so including
them in the list of lints which should be upgraded to errors is useless
and results in a warning. One of them appears to have dissapeared
altogether with no error as well.
all: add the Apache 2.0 license
all: update lockfile

Newer versions of Cargo add some comments to the lockfile which result
in a diff. Go ahead and commit the comments so that we don't end up with
a diff every time we build the code.
widget: simplify disabled item selection
all: update gtk-rs
res, ui: add refresh button to add files view
widget: fix selection mode regression
widget: don't allow selecting dirs in FileStatus

This is not the final behavior we want here, it's just a quick fix until
we can implement #11.
versions: on add recurse into untracked dirs

This prevents us from being able to select the directory, which won't
actually do anything. Instead we have to pick individual files.
versions: skip over added directories

Fixes #8
versions: remove unnecessary unwrap

Also tweak the error message a bit.
versions: handle adding file deletions to revision

Fixes #10
versions, ui: unify all files and changes view

Fixes #9
versions, ui: replace tree views with file status'
widget: create new file status widget

This will replace the standard treeviews in the changes, all files, and
add files panes.
versions: limit closed over scope of callbacks
versins, ui: move app menu creation into headerbar
versions: add an example to the clone macro
versions: use "Self" in place of concrete type