Allow promises to be returned in lifecycle hooks

https://github.com/jmdobry/angular-data/issues/176