Preheat oven to 350 degrees (if using a dark colored pan, preheat to 325 degrees F). Grease the bottom and sides of 3 (8-inch) cake pans with shortening and then dust with flour.
In a mixing bowl, mix together flour, cornstarch, baking powder, baking soda, and salt. Set aside.
Puree pistachios in a food processor or blender until coarsely chopped and then take 2 tablespoons and add it to the dry ingredients. Continue to puree the rest of the nuts until it becomes a powder. Mix into the dry ingredients.
In the bowl of an electric mixer with a paddle attachment, whip the butter for 2 minutes. Add the sugar and beat until light and fluffy. Mix in the whole egg and the vanilla until just combined.
In 3 batches, alternate mixing the dry ingredients and milk into the butter. Mix completely before adding each additional batch. Scrape down the sides as needed.
In a separate mixing bowl, whip egg whites and cream of tartar until it reaches soft peaks. Fold the whipped egg whites into the batter until combined.
Pour batter into 3 cake pans and smooth the tops. Bake for 28-32 minutes or until toothpick comes out clean. Cool in pan for 10 minutes before removing and cooling completely on a wire rack.
For the Frosting:
Mix sugar and flour together in a sauce pan and then whisk in milk and cream. Cook over medium heat, stirring frequently, until thick and begins to boil (about 15 minutes start to finish, should be considerably thick). Pour into a bowl or Tupperware, cover with plastic wrap pressing it against the mixture,and then place in the fridge until no longer warm. (If you place it in the fridge overnight, let it sit on the counter and comes to room temperature.) Place in the bowl of a standing mixer and beat on low speed. Add butter a tablespoon at a time and then cream cheese an ounce at a time. Turn up the speed and beat until smooth. Mix in the honey and vanilla until combined.
Assembling the Cake:
Using a large serrated knife, cut off the tops of cakes to make them evenly flat.
Place one cake round on a plate or cake platter and then frost the top of it. Top with another cake round and frost again. Add the last cake round and then add a thin layer of frosting (crumb coat) to the top and sides of the cake. Refrigerate the cake for 30 minutes and then frost the cake with the remaining frosting (save some of the frosting in a piping bag if you wish to decorate with frosting). Garnish with extra frosting, pistachios, and/or berries as desired.