* feat: add adapter-backed protocol metric comparisons
* refactor: clean up protocol comparators code quality
- Extract getMarketForChain helper to deduplicate market lookup in Aave adapter
- Add MAX_TRAVERSAL_DEPTH limit to collectNumericValues to bound recursion
- Replace magic numbers in normalizeApyToBps with named constants
- Use Map-based adapter lookup in composite query provider (O(1) vs O(n))
- Parallelize file reads in format command with Promise.all