Add logging component

Signature:

```js
log.[error|warning|info|success]([key], [context], [customMessage])
```

... where:

* `key`: The message object's key within the corresponding `log/messages/*`
   collection
* `context`: An optional object
* `customMessage`: An optional string