Iterative object path lookup

Ping @AlphaGit 
I think you should check your iterator object against null or undefined, so that will give consistency to both cases.

I also think it makes sense to return true for empty paths, since we can actually navigate to it. It follows the same idea of having an empty string always be present in any string.