Fixes #2703 by adding max_digits10 function
Reference issue
What does this implement/fix?
Eigen used digits10 as the number of full precision decimal digits. However, in my use cases like serialization to text files, digits10 does not provide enough decimal digits number to uniquely represent a double. To fix this issue, I introduced max_digits10 in Eigen::NumTraits. Also, current implementation for digits10 produced different result as std::numeric_limits demo. I fixed digits10 as well.