Map labels by host

Allows for a builder to be specified by many projects.

Currently a builder can only have a single label e.g. `label1`. If many projects want to run on this node they either have to specify that they run on nodes matching `label1` or we can change the underlying code to allow a node to have more than one label associated to it.

This pull-request achieves this by concatenating all labels that are specified during a single chef run together and writing them onto the node rather than the current behavior of writing the value of the last cookbook onto the node.