[#56] Fix name handling and validation on harvesters

A number of changes to fix/improve how names are handled during the
changelog harvesting.

First, refactor the function that creates/gets names on 3 different
ones, one for orgs, one for getting the name from a task status (ie if
the dataset was created from the frontend) and one for generating a name
if there isn't an existing one. This one will only add the org id
characters if there is an existing dataset with the same name.

Harvesters use the previous functions, and the changelog one also sets
the state of the relevant task status to processing to avoid validation
errors with pending names against the same dataset. The state is finally
set to finished.