Fixes #304
Fixes #294
also adds direct diversity picking using fingerprints from python (efficiency win)