Coded caching schemes for multi-access topologies via combinatorial design theory