Add state for queued publishing

Now that publishing is handled by the sidekiq queue, we should handle state of a PublishTask in order to give feedback to the user and provide a mechanism for tracking errors with queued publishes. Instead of using the PublicationLog for this we will use a stateful model 'PublishTask'. Which can be used for both error tracking purposes and editor feedback.

It is currently exclusive to manuals and hence is labelled this way. We should rename this once it is no longer exclusive.