Implemented client.

The client pings the server every `raft::CLIENT_PING_PERIOD` milliseconds. Run with `raft client`.
Here's the source for `Timer::new()`. I don't understand it, but it involves errors.

    /// Creates a new timer which can be used to put the current task to sleep
    /// for a number of milliseconds, or to possibly create channels which will
    /// get notified after an amount of time has passed.
    pub fn new() -> IoResult<Timer> {
        LocalIo::maybe_raise(|io| {
            io.timer_init().map(|t| Timer { obj: t })
        }).map_err(IoError::from_rtio_error)
    }