Illuminati: Code cleanup and simplification

This commit is the result of a large undertaking to cleanup the
underlying codebase without impacting the functionality of the program.

The primary aim has been to make the code simpler and easier to
understand, with the additional goal of also making minor improvements
in efficiency where possible. This commit will ultimately be merged into
master when all work is completed and the codebase is considered stable.
lib/rugged-illuminati: Rename directory for Rugged support functions

Simple rename of the folder for the rugged support code that we use for
dealing with Git.
Illuminati/lib: Rework git code, ssh channel handling and update Gems.

This concludes the code-cleanup - the SSH channel failure handling no
longer sleeps and instead runs a queue for handling failures.

The Git code is now more efficient and works with the latest iteration
of Rugged/LibGIT2.

This is Illuminati v0.4