Add lazy #map operation to Property

I thought it would be nice to be able to perform a lazy map on a Property. This is basically the same as doing a #map on a Stream and then using it to create a Property but can provide a nicer abstraction. 

I thought it would make more sense for it to be lazy as we don't need to apply the map function until we actually query the Property (as we don't push the changes in value anywhere).