DataLoader changes

- Get rid of the stateChanged signal, which is redundant (since
DataLoader is a Future)
- add a canceled signal