add and-or

Partial response to https://bugs.ruby-lang.org/issues/8452

Now defines: obj.and(default), obj.and(default,&block), obj.or(default), obj.or(default,&block)

Not entirely convinced that the block-forms are the right way around. Eh, it's committed now.