fixed naming in TaskResultsDb, CachingTask
added Messages with containsProblems(Iterable<Message>)
refactored TaskResultsDb
style fix in TaskResultsDb
renamed methods 'store' -> 'write' in HashedDb, TaskResultsDb
refactored TaskResultsDb
redesigned TaskResult so value() never returns null, hasValue() should be used to test whether value is present
refactored some tests
refactored UserConsole
renamed HashedArraySaver -> ArraySaver
changed FakeArray.hash() so it is compatible with ArrayObject.hash()
refactored FakeArrayTest
refactored ArrayObjectTest
replaced StringObjectTest with SStringTest