RAINIER: A simulation tool for distributions of excited nuclear states and cascade fluctuations