Support Submodules

When a submodule is cloned into another project, it has a different structure:

The .git folder is well, not a folder, it is a file that's sole contents
include a reference to where the .git folder for the submodule is on the
local drive.

Take that information from the .git *file* and then build our repository
and index location out of this.
Adding git rebase command.
fix merge conflict.
fix conflict.
Removing redundant gemspec.
Adding git remote prune remote_name