FileConfig fix and windows compile fixes

Hello,
After realizing that elastic search logstash-forwarder does not really work on windows with the rotating logs (it locks the files so they cannot be renamed by log4j), I've started using your version of logstash-forwarder. It works very well on Windows, detects file truncate etc.,  and the multiline codec is also very handy.

However, I've found a problem with the Files configuration - if I specify a few "files" array elements in the configuration with different codecs and different fields, the logstash-forwader uses codec and fields specified for the last file for all the files. 
I've traced this issue - this is due to the config variable being passed as a reference to the Harvester (the config variable is being modified in the for loop, thus all the Harvesters end up having the same FileConfig).