m.prop() resolves promises

This extends #169 

```js
test(function() {
	var defer = m.deferred()
	var prop = m.prop(defer.promise)
	defer.resolve("test")

	return prop() === "test"
})
test(function() {
	var defer = m.deferred()
	var prop = m.prop(defer.promise).then(function () {
		return "test2"
	})
	defer.resolve("test")

	return prop() === "test2"
})
```