Enhance getPath & hasPath with support for dot notation

This enhancement allows for a more natural syntax when specifying the path to traverse. For example:

```javascript
// Using an array for the path
_.getPath(obj, ["a", "b", "c"]);

// Using dot notation
_.getPath(obj, "a.b.c");
```

I've been using `getPath` fairly regularly lately, and I think dot notation would make it quite a bit nicer.