[module/git] Directly delegate instead of using forwardable

Using forwardable isn't terribly helpful and R10K::Module::Git#sync is
going to have new functionality soon.
[git/working_dir] Alias alias `cloned?` to `git?`
[git/working_dir] Define `exist?` method

This allows consumers to see if the working directory exists at all.
[git/working_dir] Expose `remote` instance variable
[module/git] Initial #status implementation
[module/git] Add initial test coverage for git module
[git] Reorganize file hierarchy and require structure
[git/repository] Update docs
[git/repository] Allow rev_parse to take a git object type
[git] Add initial git primitives
[module/git] Use external API for accessing git classes
[module/git] Extract options parsing out of initialize
[module/git] Add comments for next steps for #status
[git/repository] Make git command private
[git/repository] Expose git_dir attribute

The git directory is a fundamental component of any git repository but
this was omitted in the base class. However code in the base class was
using it, so we need to have this available instead of implicitly
assuming that it'll be there.
[git/cache] Use #git_dir over @path
[git/cache] remove duplicate `remote` attr_reader
[git/repository] Remove nonfunctional #git_dir= method
[git/cache] Correctly deprecate @path
[git/working_dir] Simplify cache remote checking