refactor: Update Bookshelves configuration for blocked IPs
- Add new method ipsBlockedPattern() to Bookshelves.php to retrieve the list of blocked IP patterns from the configuration
- Implement IP validation in DownloadController to check if the user's IP is blocked before allowing downloads
- Improve error handling in DownloadController to return appropriate HTTP status codes for forbidden and too many requests
- Update bookshelves.php configuration file to include the new 'ips' section with the 'blocked_pattern' key