Transport for London Bus Node

First attempt at the TfL Bus node.

@knolleary, I've got an issue and the node cannot be finalised until the issue is resolved. I'll need your help/decisions:

Issue:

I just hit a problem today that needs your attention. While being configured, some of the TfL nodes will have to send out queries to the TfL servers. This is necessary in order to populate certain fields in the UI (such as the predictive search box for the bike stands or the list of nearby bus stops).

However if the TfL server replies with an error or if there's a connection issue, the user HAS TO be informed, as configuration of the node is not possible.

Questions:

Where/how shall we display the error in the UI and what should it look like?
Shall we try to pass through the TfL error to the user, or more likely, shall we create our own error?


I suppose we would like to log the error too. I'll figure out how to access/make the global logger accessible as the node is not yet deployed.
If all you're using `collections/set` for is to count the unique elements in a list, then this can be done without the additional module dependency with a hash.

    var lineNoSet = {};
    for (var i=1....
        if (!lineNoSet[tempJsonObj[3]]) {
            linesArray.push(....)
        }
        lineNoSet[tempJsonObj[3]] = true;
     }

You may also want to consider [sorting](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) the array once you've created it so the lines appear in a predictable order.