Simplify and increase test coverage for PhoneNumberField
PR #1645 pointed to an issue with phone numbers. After digging into the
code for a while, I opted to redo the phone number field implementation
according to the Django documentation. It always takes me a bit of time
to grok descriptors; the new implementation avoids them.
Note that this does not fix any issue; it's just a simplication done
while searching for the bug.