Fix the scoring to return results identical to the solution checker

This actually does multiple things:
- Completely refactory soft scores to calculate idle time properly.
- Introduces simple Java score calculator to validate the results.
- Makes sure the BigDecimal scale is proper, so that the results match
the solution checker.