Wireless coded caching can overcome the worst-user bottleneck by exploiting finite file sizes