Return undefined on non-existent deep keys

The default behavior was to throw a 'TypeError: Cannot read property X of undefined' when a deep object does not exist to check on. This patch checks to see if the object has a property for the specified deep key and if not immediately returns undefined instead of attempting to move to the next level of the deep key.

I'm not sure if this is behavior you are willing to accept in this module, but this is one thing specifically that I was looking for in a deep key/value module... Not throwing errors when some part of a deep key does not exist on the inspected object.

Thanks for your work!