Illuminati: Fix tree collision in git_find_tree()

Previously, we built the global tree storage var from just the tree name
that was passed - this presents a serious problem as obviously a tree
that is a child of parent tree X could have the same name as a child
tree of tree Y, thereby causing a duplicate and thus an invalid repo
hierarchy.

Additionally this also means that the rsync code cannot currently do a
checkout of a desired tree. A tree walking function will be implemented
in a future release to provide a performance benefit to rsync.
Illuminati: Handle channel open failure

Most hosts will not allow too many channels to be opened simultaneously,
thus, we wait 100ms if a failure occurs and then retry. We will retry
for a maximum of 20 times.

TODO: Detect if other threads are executing a channel successfully and
wait for one to close its channel if so (or allow user-specified channel
limits)