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 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 until well combined. Season with salt and pepper.
Remove pot from heat and begin stirring cheeses into the skillet, a little at a time (waiting for cheese to fully melt before adding more) and continue to stir together until all the cheese has been added and mixture is thick and smooth.
Fold in the cooked and cooled shells until just combined and adjust seasonings as needed.
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 1 to 2 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.