FLOE-227: Queued dataSource requests

Added a queuedDataSource to wrap other dataSources and queue up set requests. This way only one set will attempt to execute at a time, thereby preventing concurrency issues.

http://issues.fluidproject.org/browse/FLOE-227
Also, we should move the wrapper into its own file, similarly for its own tests.