bug fixes, attempt to fix overzealous pruning

biggest bug of note was division by two ints during the calculation of test accuracy in the prune case; i had to cast one of the ints to a float to prevent it from truncating and giving zero. also changed majority function to be called on val_fold passed in, not the filtered new_val_fold. this gives more believable pruning performance, but i'm not sure if it's correct. also edited the recursive call to prune such that we pass in new_val_fold and new_train_fold - before we were only passing in new_train_fold