Bug 1000193: Use an Hourglass in the gear upgrader

Improve Upgrader class to accept and use an Hourglass instance for timeout handling. Pass
through the hourglass to all ApplicationContainer and cartridge model instances, and use
the hourglass to configure Net::HTTP timeout values.

Ensure that no Upgrader operations will ever be timed out by a higher level Timeout block
such as MCollective.