finagle-core: make timer-based DNS resolution as default of InetResolver

I have tested on my macbook and the timer-based DNS resolution works fine.
- Caching forever [was the default in java 5](http://docs.oracle.com/javase/1.5.0/docs/api/java/net/InetAddress.html), but [they changed it in java 6](http://docs.oracle.com/javase/6/docs/api/java/net/InetAddress.html).

- Yeah, I think I agree that reusing `networkaddress.cache.ttl` is simpler overall than introducing another config param.

- What would be the effect of your `Throw(exc: SecurityException) ... "dns caching turned off" ... -1` case? If we do nothing then we're back to the cache-forever behavior since our api to the client is a sticky `Var[Addr]`.

- As for the "odd behavior", consider this:
 - Thread 1 calls `java.net.InetAddress.getByName("foo")` repeatedly, as fast as possible
 - Thread 2 makes a `val v = InetResolver.bind("foo")` and observes `v: Var[Addr]` as fast as possible

  Thread 1 will cause the InetAddress cache to refresh its entry for "foo" every `networkaddress.cache.ttl`. Relative to this periodic process, the timer updating `v` will start its own periodic process at some offset `d`, also with period `networkaddress.cache.ttl`. So whenever thread 2 observes `v`, the freshness of its observations will always be within `[d, d + networkaddress.cache.ttl]` instead of `[0, networkaddress.cache.ttl]`.

  Now, this case seems pathological, and `[d, d + networkaddress.cache.ttl]` amount of freshness is probably acceptable anyway, but since we're creating our own timed process over a timed cache we should be aware of it.