optimize index route

Current calls are made one after the other, not very efficient.
Amongst the 5 calls, 3 can be made in parallel, this is what `async.auto()` will help to achieve transparently :)

Note that the code would be simplier if the callbacks had a standard format `(err [, results…])` but whatever.