Neutral excitation density-functional theory: an efficient and variational first-principles method for simulating neutral excitations in molecules