C2DN: How to Harness Erasure Codes at the Edge for Efficient Content Delivery