Refactor PublishedEntry and NewEntry to inherit from Entry

This avoids duplicating some of the code.

Thinking about it, we could just have one Entry model - but the abstraction comes in handy if we're looking at the EntriesQueue as just containing PublishedEntries - keeping NewEntry as separate model more clearly describes that the EntriesQueue contains only Entries fetched from the server.