Fix unit-test-duration.html to test something sensible

This test was originally intended to test the interaction between
TimedItem.duration and TimedItem.specified.duration, when both were writable.

It was broken in a rename (20b5ca884e185307907d026ea7a989eed496185b) and then
'fixed' such that it was no longer testing what it was intended to.
TimedItem.duration has since been made read-only, so this change updates the
test to reflect the new behavior.
Invert confusing 'incorrect' test messages

These messages were written at a time when they were only displayed on failure.
Now that we always display test messages, they should be inverted so that they
make sense when the test passes.
Make use of assert_throws() in tests