Added division selection and length checking. Decoupled the bit reversal permutation to make implementing convolution easier since the bit reversal permutation can be skipped in a particular case.