Minor optimizations of sum methods.
Update build definition.
Update Eq/Order and add PartialOrder.

There have been some changes in Spire since I first imported these
types. I think the changes were good, and that partial order will
be useful for other folks too.
Lots of assorted clean up, optimization, and fixes.

This commit contains a lot of work. Quick summary:

 1. Remove 'extends Any' for 2.9.3 compatibility
 2. Add some doc comments
 3. Rename Group#uncombine' to remove
 4. Add missing @sp annotations
 5. Add some extra methods from newer Spire
 6. Rename Semigroup#sumn to combineN
 7. Rename Semigroup#positiveSumn to repeatedCombineN
 8. Rename Semigroup#sumOption to tryCombineAll
 9. Rename Monoid#sum to combineAll
10. Handle Int.MinValue better in combineN
11. Remove BigDecimal-specific code from NRoot
12. Add pow/** method to Sign
13. Improve efficiency of Field#fromDouble in common cases
14. Improve efficiency of MultiplicativeSemigroup#pow
15. Add fromInt to RingFunctions
16. Add fromDouble to FieldFunctions

At this point I think the library is looking pretty good.
But I'd like to import Spire's laws/law-checking and write
some sample tests to be sure there aren't dumb bugs
somewhere.