Threading

A start on adding threading to emonhub. This works with one dispatcher at the moment as I think it needs either a queue for each dispatcher or a pub/sub queue that handles this for us.  At the moment I think the queue will share the data between dispatchers rather than duplicate the data which is the behaviour we want.

This pull request contains the node_decoder pull request too.