Object-oriented conformer generation

The only change in functionality is that now setting `prune_after_minimization` to `False` will also force `pool_multiplier` to 1.
This engine creation step is repeated in a lot of tests. I suggest that you add two lines to the ```setUp``:

```
engine = conformers.ConformerGenerator()
engine_mmff94s = conformers.ConformerGenerator(force_field='mmff94s')
```