Added the ability to page through search results.
Refactored barcode searching to be more AR like

Provide a scope like way of searching for barodes.
Removed all reference to findByBarcode & friends.
Fixed labellable lookup to use the standard search behaviour.
Fixed some issues with the labellable search.

Models are pluralized in the root.
No reference to the root object for doing the labware find.
Do not fail if there are no results.

In all cases with multiple answers you do not care for 0 results.
If first/last then fail if there are no results.
"length", not "size", for the size of an array
Refactor code to be more readable.

Search functions can be globalised with parameters.
Searching for order/orders is identical logic, just different amount.
Pass whether the page has a following page to the callback.
Merge pull request #116 from mattdenner/yield_page_of_results

Yield page of results
Merge remote-tracking branch 'sanger/development' into HEAD
Merge remote-tracking branch 'origin/uat'