Add output objects to recorder

I ddded outputting of objects in recorder instead of generated code. This allows for custom code generators (e.g. CoffeeScript) or for persistence of tests as JSON for bulk loading (instead of defining them in code) like [nano](https://github.com/dscape/nano) does in its tests (though the output object structure I used is different from it).

I also fixed the missing port from the recorder output.

The changes are backward compatible so `recorder.rec()`, `recorder.rec(false)` and `recorder.rec(true)` will work as before but I also added an alternative syntax of:

```js
nock.recorder.rec({
    dont_print: true
});
```