improve 'semantic interpretation' of names

This library is being used to pull names and addresses out of
full email addresses, and not just in their raw form. This patch
makes the 'semantic' values smarter. We now remove surrounding
quotes and handle whitespace semantics more consistently.

It's not perfect, but it's pretty good. I added tests for semantic
names and addresses.