Unfold optional args to overloads to make HtmlOperations more C# friendly + Add descendantsWithPath, hasId, hasClass