Delete the elasticsearch index before reindexing

If we don't do this then there might be stray documents that are no
longer in the database, so we get inconsistent results.
Check index exists before dropping
Only drop the index once before reindexing
Fix model reference in reIndex method
Pass reindex error to correct callback
use req.popit for database name rather than deriving it from slug

as they may now not be the same