Fixed label split function to use proper slice method.
Remove label splitting function, to just do in code, and improved label parsing function.
Changed the location-getting methodology to find the location from the view name if available, or from request.path, or if neither of those, we can assume top location. This removes the need for having wrapper functions that only pass location. nav-recurse can always get location from request.path so is simpler. The others still have explitly named views for location, e.g. navigation-widget-tree-left, because the location is parsed from the view name in some cases.