Added _.propertyOf method

_.propertyOf method as discussed in https://github.com/jashkenas/underscore/issues/1916

Resolves #1916
@jdalton The version you suggested is what I had originally written. I changed it on the suggestion of someone in the discussion thread. I doubt any performance difference would be found between the two, but if there is some reason to prefer the initial null check, it could just be done as  `null ? function(key){} : ...`, no?