Illuminati/Git: Fix tree existence checking

Due to Rugged using native code, the ".include?" method does not actually
work on tree objects - fortunately, accessing a non-existent element of
the tree will not throw an exception, so we simply check if the element is
nil.
Illuminati/P2: Make SSH & Rsync operate per-host, support SSH passwords.

P2 will now avoid attempting SSH/Rsync if there is no actual list of
elements in the YAML config. Additionally, you can now specify a password
for performing SSH commands.
Project Illuminati: Update Gemfile.lock

Updated the lock file for the bundled gems.
p2/SSH: Make SSH bindable to address

Illuminati now accepts a global "bindto" value to bind to a specific
address when SSHing hosts. This can be overridden on a per-host basis,
again using "bindto" in the host's SSH configuration.
Illuminati/SSH: Support custom window/packet size values

Bumped net-ssh to patched version and enabled per-host custom packet
and window sizes to be set in the YAML configuration. The patched
version of net-ssh fixes any connectivity issues caused by trying to
open an SSH channel with a packet size larger than the size specified in
section 6.1 of RFC 4253.