WIP Parse all user role fields as person dictionary info.

Makes all HTML role data parse to the person struct.

A person struct looks like one of the following:

- ``{'id': 'https://github.com/marknewlyn', 'name': 'Mark Horner', 'type': 'github-id'}``
- ``{'id': null, 'name': 'Francis Hablar', 'type': null}``

In html these look like:

- ``<a href="https://github.com/marknewlyn" itemprop="url" data-type="github-id">Mark Horner</a>``
- ``<span itemprop="contributor" data-type="translator">Francis Hablar</span>``

Note, the second data struct is valid in cnx-epub, but cnx-publishing will not accept them, because they do not have an id or type. This is intentional because we do not enforce value validation (a scoping issue) at the cnx-epub layer.