DefaultUnitService: remove unnecessary ctor
DefaultUnitServiceTest: use better method name
DefaultUnitServiceTest: add missing final keyword
UnitService#value: throw exception upon failure

It is best to throw an exception when the conversion fails,
rather than only hiding the problem in an internal state flag.

To avoid propagating checked exception declarations, we throw
IllegalArgumentException (which is an appropriate type to throw here).
UnitService: remove failureMessage API

Now that the value method throws IllegalArgumentException, this method
is obsolete. The API was highly thread-unsafe anyway in that two threads
simultaneously attempting conversion could easily get their error
messages crossed with no recourse.