Improve semantics for importing to document collections

When importing a document to a document collection there are three
possible scenarios, for which we want the following behaviour:

* The collection does not exist at all. This is an error and the import
  row should be rejected
* The collection does exist and the latest edition is a draft. In this
  case we add the document to the appropriate group in the draft
  collection.
* The collection does exist and the latest edition is published. In this
  case, we create a new draft from the published edition and add the
  document to the appropriate group in the draft collection.

I've refactored the Row classes to no longer take responsibility for
loading the DocumentCollection from the slug. This is now done by the
ImportRowWorker. This is because the semantics for loading
DocumentCollections is more complex and can no longer be done in the Row
class.