Added sensible _or and _and functions

Renamed the old _or to _firstNonEmpty, which is wordy but clear.