Allow FAssetCategoryPath to feature more than one subcategory

Currently FAssetCategoryPath only supports one sub-category. When used in relation to UAssetDefinitionDefault it only allows for that asset to be placed in that submenu. This can become a problem quickly when trying to organize a large project.

struct ASSETDEFINITION_API FAssetCategoryPath
{
	FAssetCategoryPath(const FText& InCategory);
	FAssetCategoryPath(const FText& InCategory, const FText& SubCategory);
	FAssetCategoryPath(const FAssetCategoryPath& InCategory, const FText& InSubCategory);
	FAssetCategoryPath(TConstArrayView<FText> InCategoryPath);

	FName GetCategory() const { return CategoryPath[0].Key; }
	FText GetCategoryText() const { return CategoryPath[0].Value; }
	
	bool HasSubCategory() const { return CategoryPath.Num() > 1; }
	FName GetSubCategory() const { return HasSubCategory() ? CategoryPath[1].Key : NAME_None; }
	FText GetSubCategoryText() const { return HasSubCategory() ? CategoryPath[1].Value : FText::GetEmpty(); }
	
	FAssetCategoryPath operator / (const FText& SubCategory) const { return FAssetCategoryPath(*this, SubCategory); }
	
private:
	TArray<TPair<FName, FText>> CategoryPath;
};