Implemented barcode resource for generating barcodes

Barcode resource instances *are not* what gets attached to a particular
tube or plate, they are purely for dealing with the EAN13 and Sanger
format of the barcodes.
Addition of label behaviour & root refactor

Resources can be labelled if they extend Labellable.
Barcodes can be applied to resources that are labellable.
Removed resource factory behaviour.
Moved action handlers to the base resource prototype.
Every resource now has a reference to the root that created it.
Every interaction with the S2 API flows through the root instance.
Resources are loaded & configured through resources.js.
Minor movements of files & data
Fixing code and tests after rebase
Fix references to the root so they are always present
Merge pull request #17 from mattdenner/barcode_generation_service

Barcode generation service