Memoize local hostname lookup in executor

This change adds a memoized version of `util/local-hostname` using `clojure.core/memoize`, and uses the memoized version in the executor.

This issue is motived by behavior we've experienced @yieldbot during intermittent DNS/network outages. During these intermittent network problems (thanks EC2), the most common exceptions are `UnknownHostException` like the on with the stack trace below:

```
java.lang.RuntimeException: java.net.UnknownHostException: node-3.storm: node-3.storm at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:128) at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99) at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80) at backtype.storm.daemon.executor$fn__5641$fn__5653$fn__5700.invoke(executor.clj:746) at backtype.storm.util$async_loop$fn__457.invoke(util.clj:431) at clojure.lang.AFn.run(AFn.java:24) at java.lang.Thread.run(Thread.java:662) Caused by: java.net.UnknownHostException: node-3.storm: node-3.storm at java.net.InetAddress.getLocalHost(InetAddress.java:1374) at backtype.storm.daemon.executor$metrics_tick.invoke(executor.clj:280) at backtype.storm.daemon.executor$fn__5641$tuple_action_fn__5643.invoke(executor.clj:620) at backtype.storm.daemon.executor$mk_task_receiver$fn__5564.invoke(executor.clj:402) at backtype.storm.disruptor$clojure_handler$reify__745.onEvent(disruptor.clj:58) at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125) ... 6 more 
```
The hope is that this change can reduce the impact of intermittent network issues. I should note that we use a positive `sun.net.inetaddr.ttl`; it's possible that most users would not experience this problem since the JVM's default may be to cache indefinitely (e.g. for sun JVM w/o security manager). We configure `sun.net.inetaddr.ttl` primarily to allow replacement of nodes without needing to restart across the cluster, which I believe is an operational strategy storm should support.

This change was suggested in the [mailing list](http://mail-archives.apache.org/mod_mbox/storm-dev/201404.mbox/%3CCA+-fM0vuEy1XgCYJ=0aN26=pf9iJg74F_gffi7BRanjaM9X5eA@mail.gmail.com%3E) back in April. It sounds like @jnioche has seen similar problems.