server: refactor to support searching 'all' collections

In order to support searching all modes of transport given a set of
GPS coordinates, we need to be able to search all mongo collections.
Due to the async nature of node, this can be difficult, as the old
code would return as soon as the results from searching one collection
came back.

So, refactor using an async pattern.

We now support the /all route.
data model: add 'mode' field to all documents

Now that we have the /all route and can get all modes of transport for
a given set of GPS coordinates, we need a way for the requestor to
differentiate between the records received.

Add a mode field to all the documents.