allow overriding of phone validation

Validate presence of `phone` attribute only if `require_phone?` returns true.

This allows for disabling phone validation in a decorator. 

In my case I use it to only validate `bill_address.phone`.

I’ve seen the issue of overriding phone validation around in the mailing list a few times, so I think this would be useful for others as well and should be integrated intro spree/core.