Allow custom cache control to be passed into the cache option, this also fixes cache = 0.