Rewrite gistore in ruby

In order to backup arbitrary entries (files and dirs), previous
version of Gistore will mount the backup entires in the worktree,
and this is not a good idea. Because mount operation always needs
root privilege, running gistore always needs to run as root user.

Since git above v1.8.2 has wildmatch gitignore support, I feel
maybe Gistore can be reimplemented using gitignore instead of mount.
The reason that I rewrite Gistore in ruby is because I use ruby
heavily for the recent years, and especially I find thor (a wildly
used toolkit for command-line interfaces) can make this reimplementation
quickly and easily.

Significant changes about this version:

  1. Rewrite Gistore in ruby instead of in python.

  2. Using thor [1] for the command-line interface.

  3. Write test cases using the same framework as git.git.

  4. More subcommands, such as export-to-backups, restore-from-backups.

[1]: https://github.com/erikhuda/thor

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>