Remove all synchronization from OutputFormats

I am removing all synchronization from the OutputFormat stuff because of the following reasons:

* In any case we will need to use Apache Spark in a single-threaded manner with 1 thread per worker (and 1 worker per core so that we can still use the cores) because Hadoop's bz2 InputStream - `CBzip2InputStream` is not thread-safe. There's a [JIRA on that](https://issues.apache.org/jira/browse/HADOOP-10614) that is fixed and merged to trunk. At least until Hadoop's next version this stays as it is.

* We are already guaranteeing single-threaded execution, so needless synchronization will simply cause problems.
But, @jimkont I have a question here, regarding the last paragraph of my last comment. Initializing ALL record writers does give us a GC overhead, but it allows us to write empty splits with only the formatter.header and formatter.footer that look like:

```
# started 2014-06-12T04:44:23Z
# completed 2014-06-12T04:44:23Z
```

This is how those files look like in the original framework. Currently in this case the dataset directories remain empty, instead of having files (output splits) looking like above.