[#52872633] Add request events
[#52872633] Add request observer
Index assets on plate_purpose_id and sti_type
[#53289573] Fix pipeline request_type bug

Existing bug which blows up in development due
to trying to call id on nil. No issues in production
as whiny nils are turned off. RequestType 4 is not
used, so there weren't even nasty side effects.
[#53289573] Start batch task starts batch (and requests)

Previously all tasks would start the batch on render.
This adds a new task type, which will allow us to
decouple the behaviour, ensuring the starting of
batches reflects the start of labwork.

This task is designed to be transparent.

Note: This commit only adds the tasks. They are
implimented in the next commit.
[#53289573] Switch to using task based starting

- Remove old batch starters
- Add task to workflows
Merge branch 'production' into 53289573_requests_should_start_when_work_commences
[fixes #54187180] Inform user of missing fields
Resolve merge conflict
[fixes #54206094] Add children to PCRR purposes
Merge pull request #785 from JamesGlover/54187180_accession_issues_need_more_informative_error_messages

[fixes #54187180] Inform user of missing fields
Merge pull request #784 from JamesGlover/54206094_pcrr-xp_plates_don't_worl

54206094 pcrr xp plates don't worl
[#53289573] Update start events to be simpler
Merge branch '53289573_requests_should_start_when_work_commences' of github.com:JamesGlover/sequencescape into 53289573_requests_should_start_when_work_commences
Merge schema
Merge pull request #786 from JamesGlover/52872633_add_requestevents_and_state_obserbver

52872633 add requestevents and state obserbver
Resolve merge conflict
Merge pull request #787 from JamesGlover/53289573_requests_should_start_when_work_commences

53289573 requests should start when work commences
Update request_observer.rb

Only expire existing events
Resolve merge conflict