Improved promises in the Angular module

Improved the promises in the Angular module in the following ways:
- Override '$data.Deferred' to use $q for promises. This way $q takes care of calling '$apply' where necessary, and promises are always resolved asynchronously.
- Made promises inside 'toLiveArray' asynchronous, by using $timeout.

Note: this probably makes some existing code in the Angular module unnecessary, because it fixes things which are now fixed by using $q.