Improvements in Computational Techniques For Determining Ideal Class Groups and Class Numbers