Error handling

this seems to handle the case of the zk server going away, and doesn't return incorrect data (0 nodes examined):

```
E, [2014-02-19T20:02:08.597619 #14194] ERROR -- optica: unexpected error reading from zk! #<Zookeeper::Exceptions::ContinuationTimeoutError: response for meth: :get_children, args: [5, "/", nil, nil], not received within 30 seconds>
W, [2014-02-19T20:02:08.597717 #14194]  WARN -- optica: stopping the store
127.0.0.1 - - [19/Feb/2014 20:02:08] "GET / HTTP/1.1" 5003 - 30.1037
Waiting for 1 connection(s) to finish, can take up to 30 sec, CTRL+C to stop now
E, [2014-02-19T20:02:08.700293 #14194] ERROR -- : [amqp] Detected missing server heartbeats
```

@airbnb/sre