Added _.propertyOf method

_.propertyOf method as discussed in https://github.com/jashkenas/underscore/issues/1916

Resolves #1916
I think it's a code smell to do a test in every call when you could simply do the test once. In fact, it is a code smell whenever you re-compute anything you already know.