WarcWriter refactoring, WarcPerUrlWriter

These changes are to facilitate creation of custom warc writers and include:

- Factoring out WarcproxThread from the warc writer(s)
- BaseWarcWriter (abstarct), WarcWriter (default) and WarcPerUrlWriter (new warc writer for creating a new warc per request)
- Passing custom params in the form of a cookie string in the 'x-warcprox-params' header. This header is parsed as a cookie string by warcprox and made available as part of the RecordedUrl. Header is not proxied further.
- The single runTest() commented out in favor of individual tests which py.test can run, also 'python setup.py test' runs pytest in verbose mode.