Adds an optional provider Id field so that a Provider can stash it's own
ID objects in the case where the framework Ids are suitable.
Adds a JmsResourceId abstract class to house the common parts of all the
resource Ids.