Pulled in async to fix performance issues

Re-indexing from scratch was causing major performance issues, I've added queue based throttling using async -- this also speeds things up significantly.