Rule for avoiding size equals or not equals zero on Traversables

Port of two rules in scapegoat into one abide rule: using ```Traversable.( size | length ) ( == | !== ) 0``` to determine if an traversable is empty or non empty is expensive on some subclasses, while isEmpty and nonEmpty is always (?) O(1)

(Additionally but maybe more subjective, nonEmpty and isEmpty is higher level and more "what I want to do" than "how do I want to do it" - more idiomatic)