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
This is permissible, but unclear - in fact, you are only interested in transitions to "false" since there is no chance that a request can be started on a transition to "true". It would be clearer if you moved the call to "start" into the listener to "requestUnqueued"