feat(AppController): Rxified querying code

Throttleing user input by 400ms.
Preventing out of order results.
Making sure we don't requery our API
for results that are already there
feat(rx): use cdn
feat(app): added a loading spinner