Custom logging

Adds ability to setup custom logging, silent default console logging, and adds info, warn, error log levels. All old drivers will still work with the .log() on the runtime.

Runtime now has:

```js
runtime.log('http_server', 'some log message', {data: 123}) // create an info level log message
runtime.info('http_server', 'some log message', {data: 123}) 
runtime.warn('http_server', 'some log message', {data: 123})
runtime.error('http_server', 'some log message', {data: 123})
// same as
runtime.log.emit('error', 'http_server', 'some log message', {data: 123})
```

Suppress logs:

```js
zetta()
 .silent()
 .listen(3000);
```
Custom logging see: https://github.com/zettajs/zetta/blob/custom-logging/sample/CustomLogging/server.js