Add optional wait_on to wait for future in get/set

This makes it much easier to write wait dependencies, for example:

    future = None

    for device in orderered_devices:
        future = device.set_position(value, wait_on=future)
Add wait_on unit test
Merge pull request #274 from ufo-kit/wait-on-set-and-get

Add optional wait_on to wait for future in get/set