Restructure DB to better handle multiple numbers

The previous db work did not handle multiple phone numbers for a
single contact very well. This improves that work, but breaks
dialing.