Report errors/warnings for `insertMasterDocs` individually
Fixes #476.
I have eventually settled on a design where if the ngrams can't be extracted, the document(s) are still inserted; the idea would be that if the NLP server is temporarily unavailable we can regenerate the ngrams at a later stage.
I wasn't able to catch potential exceptions being thrown by insertMasterDoc
due to #480 which I will need to investigate.
Of course inserting documents individually is going to be less efficient than inserting them into batches, but we gain individual atomicity and a rollback transaction won't affect whole blocks of documents.