avoid retrying bad trackers

Dave Lambley wrote:

When we lose a connection to a tracker and reconnect, we do so in a strict
sequence so that we only ever retry the failed host after trying all the
others.  The client also shuffles the list of hosts, so that if there are
more than two trackers, clients will use all the remaining ones when one
fails, rather than concentrating on the next in the supplied list.

This combines commits in "master" of
https://github.com/davel/perl-MogileFS-Client.git
85643b5ce07c0e536136f4a136ac136bf9e6fedd
b61965a761553ee10145512736ce95a90f7ad391

[ew: commit message]
Signed-off-by: Eric Wong <normalperson@yhbt.net>
add force_disconnect function

Forces the client to disconnect from the tracker, causing it to reconnect
when the next request is made.  It will reconnect to a different tracker if
possible.  A paranoid application may wish to do to this before retrying a
failed command, on the off chance that another tracker may be working better.

[ew: commit message body taken from POD]

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Makefile.PL: declare explicit Time::HiRes dependency

Time::HiRes is no longer a standard module distributed with Perl in
RHEL/CentOS 6.x (and like other distros).  Declaring an explicit
dependency on it should help users find and install the correct
package for their distro.