CRM_Utils_Array - All `pathGet()`-like methods will accept empty-path
These two are equivalent:
(A) $data['sub1']['sub2']['sub3']
(B) CRM_Utils_Array::pathGet($data, ['sub1', 'sub2', 'sub3'])
But what if the list of subpaths is empty -- ie you're accessing the top-level item?
(A) $data
(B) CRM_Utils_Array::pathGet($data, [])
It worked correctly on `pathGet()`, but accessing the top-level using a
related methods (eg `pathSet()`) would generate a PHP error.
This commit ensures that related methods can be used to check/update the
top-level item (ie path===[]).
Note that there is some decent test-coverage already for the regular
scenarios (eg `testGetSetPathParts()`).