Can we make the `ttlInMillis` param a `com.twitter.util.Duration`? It's a little more consistent with [ttl writeables](https://github.com/twitter/storehaus/blob/develop/storehaus-core/src/main/scala/com/twitter/storehaus/WritableStore.scala#L45) and prevents issues related to wrong assumptions about units of measure. Also naming this `withTtl` may also help with some consistency. 

Not sure what @johnynek's feeling is on default params, as it breaks some java interop friendliness, but perhaps we can make this a little easier to use by defaulting capacity to the default of [linked hash map](http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html#LinkedHashMap()), 16. I can see the reason for this param is to provide the flexibility to propagate that info from the factory down to the impl but when I use a method called `ttl` I don't often think about capacity, I think about time. If this had a default, the same default as the underlying impl, then I can just think about the ttl time. If a use case needs more flexibility in configuration, they can override the default capacity argument. thoughts?