code and tests for .withor

.withor is a convenience for when you need validation like this:

one of these combinations is acceptable:
{city, state} or {county, state} or {town, state} or {region, state}

.withor('state', ['city', 'county', 'town', 'region'])