52614219 use swap samples message

- Use swap_samples messages to update the samples in the warehouse

And:
- Table migrations: replace foreign key on internal_id by uuid
- Barcode table include ean13_barcode_position and sanger_barcode_position
- Improve general performance: the triggers are setup only one time per model involved in a payload
- Improve and fix issues in the JsonDecoder and especially in foreach_s2_resource method.
- Specs written. All specs pass.