add specs for Property.scan
correct Property.scan specs to match the proposal
fix Property.scan spec
implement Property.scan