Comment cleanups
Added Optional<T>::Compare() method, and refactored code a bit to use it; and more code comments/cleanups
Comments; especailly on Optional<T>. Lose Optional<T>::operator T () - and document
why.
more comments
regression test fix for recent Optional<T> changes
cleanup of Optional<T> Compare code - so uses Traits (for compare)
operator==(BLOB,BLOB) now BLOB::operator==(B) (same for <> etc)