Support recursion-tolerant nullable values
All other values are made recursion-intolerant
Recursion-tolerant notnull lazy values
Lazy values: change encoding, now NOT_COMPUTED is an explicit object, and null is stored as such
All storage-related code moved to util.runtime
Unused classes removed
Encoding changed for non-blocking lazy values
Support recording exceptions in lazy values
Support recursion detection in lazy values
isComputed() supported in simple lazy values
Support not null lazy value with default on reentry
Lazy values unified in the project
Exception class moved
Support returning default values on subsequent calls after recursion detection
isComputed() supported for lazy values
Thread-safe lazy values used in lazy resolve
Use ReentrantLock instead of intrinsic locks in LockBasedStorageManager
Support storage manager with no locks
Using enum instead of Object constants
Fall-through case removed
Distinguishing first and subsequent recursive calls to lazy values