Add emma code coverage publisher support
Move to using a closure to define the thresholds for coverage. Allow for definining min/max for class/line/block/method/condition separately or using an IntRange.
- Don't use keyword for method name, so switch to using names like classThreshold and methodThreshold.
- Add trailing newline at end of EmmaContext
- Add precondition checks for values in EmmaContext
- Enforce that max can't be lower than min when setting min value explicitly (otherwise the range can get goofy).
- Set condition range default max to 80
- when setting max percent for a type, enforce that min is <= new max
- add unit tests for testing values out of valid range