Issue 1885 create publishing end point cache

Issue 1885 is now resolved in this branch.  PublishingEndPoints are now cached and the PublishingEndPointAPI has been refactored to use more developer friendly.