Added support for parsing properties from a file.

--properties-file filename will parse the properties file and set the appropriate fields.
Added support for multiple properties files.
Now multiple properties can be set by "--properties-file file1.txt --properties-file file2.txt"
or it can be "--properties-file file1.txt;file2.txt"
Removed the replacing of '.' with '-' as JOptSimple supports '.' in options.
Reopen socket in PortForwarder when unpausing.

Previously, PortForwarder would close the server socket when pausing the
port forwarder without reopening it when unpausing, causing future
connections to fail.
Fix race conditions in ZkCloudnameIntegrationTest.

It's not thread safe to make decisions based on the test
waitForEvent.size() > 0 without wrapping the whole operation in a
synchronized block, as the size might change after the test.
Handle carriage return in log payload.

Make Util.escape() strip carriage return from payload when followed by
newline, and replace with newline when not.
Avoid spinwait when pausing PortForwarder.

Stop the server thread completely when pause() is called, restart it when
unpause() is called.
Merge pull request #132 from markusbk/zkintegration-race

Fix race conditions related to ZkCloudnameIntegrationTest
Merge pull request #133 from markusbk/log-format-cr

Handle carriage return in log payload.
Fix restart bugs in ZkCloudnameIntegrationTest.

There were a few bugs related to restarting EmbeddedZooKeeper that caused
ZkCloudnameIntegrationTest to fail on Windows:

- EmbeddedZooKeeper.shutdown() didn't close the transaction log,
  making deletion fail on Windows since the file handle was still open
- EmbeddedZooKeeper.del() didn't verify that files were successfully
  deleted
- ZkCloudNameIntegrationTest.testZookeeperRestart() didn't retry
  coordinate creation if the connection to ZooKeeper failed, leading to a
  race condition when restarting ZooKeeper, as coordinate creation doesn't
  wait for ZooKeeper to get back online

This commit fixes these bugs, allowing the unit test suite to run
successfully on Windows.
Merge pull request #134 from markusbk/zkintegration-winfix

Fix restart bugs in ZkCloudnameIntegrationTest.
Merge pull request #130 from torfredrik/master

Added support for properties+file used for loading arguments from a file.
To load a single file:
 "--properties-file file.txt"

This loads properties from a properties file instead of having to declare them on the command line.

To load from multiple property files multiple --properties-file arguments are supported or ";" seperated list:
"--properties-file file1.txt --properties-file file2.txt" 
-- OR --
"--properties-file file1.txt;file2.txt"

No regard to collision is taken between the files.
Found a closed source dependency for idgen in the timber MetaDataHandlerTest.

Replaced the dependency with the org.cloudname.idgen.
Merge pull request #136 from torfredrik/master

idgen dependency fix in timber, removed closed source dependency.
Moved ReconnectDelayManager to make it accessible for mocking and added creation of directory structure to MetadataHandler.
Removed unnecessary lines from Metadata writing.
More replay preparation.
 * Implemented closedListeners in Archiver.
 * Added some descriptions to timber.proto.
 * Logserver will not attempt to send "sync" messages to it's handlers. These should be ignored.
 * MetadataHandler no longer writes a new file on startup, but will according to design only append if the file exists.
 * TimberClientPipelineFactory now holds only one instance of TimberClientHandler, so shutdown is called on the same instance which is started.
Merge pull request #131 from acidmoose/replay-preparation

Moved ReconnectDelayManager to make it accessible for mocking