Fill a large pot with water and bring to a boil. Add a small handful of salt and the shells and stir. Bring the water back up to a boil and cook shells for 7 to 9 minutes or until al dente (soft with a slight bite), stirring occasionally. Strain shells and set aside until ready to use.
Place a 10 inch skillet over medium heat and melt butter. Sprinkle flour into skillet and stir until well combined and the raw flour taste disappears, 2 to 3 minutes.
Stir in milk and cream and continue to stir until no lumps remain. Lower heat to medium-low and allow mixture to thicken, enough to coat the back of a wooden spoon. Stir in mustard, thyme and ginger until well combined. Season with salt and pepper.
In a small bowl toss together both cheeses and lemon juice. Begin whisking cheeses into the skillet and continue to whisk together until all the cheese has been added and mixture is thick and smooth.
Add warmed chicken stock and stir together until smooth. Fold in the cooked and cooled shells until just combined and adjust seasonings.
Heat broiler to high.
In a small bowl toss together crushed crackers butter and thyme until well combined. Top the mac and cheese filled skillet with the buttered cracker mix and place under the broiler for 3 to 5 minutes or until the shells slightly caramelize and the cheese sauce becomes hot and bubbly. (you can also transfer the mixture into individually-sized buttered skillets and top with the cracker mixture before placing under the broiler).
Allow the mac and cheese to sit and cool for 5 to 7 minutes before serving.