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
Why not just do the shift() here