Refactor base resource handling for absent resource classes

Added helper method BaseResource.extendAs(type)
Give each resource type an automatic extension of BaseResource
Singularize the root JSON resource name for the above
Automatically wrap request JSON with resource type
Merge pull request #28 from mattdenner/custom_resource_classes

Refactor base resource handling for absent resource classes
Initial work on saving batches
Merge branch 'master' of https://github.com/sanger/S2Mapper into T45_3_batch_save
Refactoring search & batch

Search provides a better interface now
Batch can find orders
Batch can find items across all orders that are relevant
Order.items is now a proper object and hides 'filter' in prototype
TEMP COMMIT: Use a proxy around batch to change attributes

The application is expecting 'batch.items' to be an attribute, but the
final implementation will be a function.  In order to prove the concept
we're wrapping batch in a proxy here so that 'batch.items' calls the
function that will eventually become 'batch.items()'.
Initial work for saving batches
Updated ignore pattern
Merge pull request #30 from mattdenner/access_items_from_batch

Access items from batch
Fixes to tests following merge containing orders and items as properties
Merge pull request #32 from iain-peddie-tessella/T45_3_batch_save

Initial attempt at batch saving functionality
Update integration JSON with new role names
- tube_to_be_extracted_na+p
Merge branch 'update_integration_json_with_role_name_changes'
Test that ajax for unknown tubes returns from the server
Return empty tube search
Return empty tube search
Uncomment tests
Changes to search function
Merge branch 'unknown_barcode_search_support'
Remove console.log from files apart from test_config