Barcode generation service

Adding the ability to get barcodes for resources, and label them, but turned into a refactor of how the root is referenced and used along with the resource references.  Not quite finished by tests green so refactoring needed.  Underscore might be missing from this too.