How would you design a network layer that supports authentication, retries, pagination, and testability for a mobile app at Apidel Technologies?