OpenJDK 11: Merging in java.math.BigDecimal

This is part of merging upstream changes from OpenJDK 11.28. This CL
updates java.math.BigDecimal; and adds unit tests.

Deprecated constants for rounding mode in favor of
java.math.RoundingMode. Also deprecated two divide() methods and
setScale() method that were using those constants.

This update changes the following APIs:

  1) One new method
  ** public BigDecimal sqrt(java.math.MathContext)

  2) Deprecated
  ** BigDecimal.ROUND_* constants in favor of java.math.RoundingMode
  ** Two constructors accepting BigDecimal.ROUND_ constants

Bug: 200171748
Test: atest CtsLibcoreOjTestCases:test.java.math.BigDecimal.{\
      AddTests,CompareToTests,Constructor,DivideMcTests,\
      DivideTests,EqualsTests,FloatDoubleValueTests,\
      IntegralDivisionTests,LongValueExactTests,MultiplyTests,\
      NegateTests,PowTests,PrecisionTests,RangeTests,\
      RoundingTests,ScaleByPowerOfTenTests,SerializationTests,\
      SquareRootTests,StringConstructor,StrippingZerosTest,\
      ToPlainStringTests,ZeroScalingTests}
Change-Id: I7e3f1fd7c51a63fcc7383ecc2df3ebc4d2808a80
25 files changed