Better argument validation for ZkTool.

Make ZkTool verify that the combination of arguments is valid and
specifies one and only one action for ZkTool to perform. Print an error
message and exit if not. Also, listing coordinates is now done with
"ZkTool --list" instead of requiring an unused coordinate option with
"ZkTool --operation LIST --coordinate 1.some.bogus.coordinate".
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
PAYMENT-683 - Reducing number of open files in Archiver

Lowering the value of MAX_FILES_OPEN from 5 to 2 in order to reduce
the latency for slot files to be available on S3 (since they cannot be
uploaded until they are closed).

Ref. https://confluence.skunk-works.no/jira/browse/PAYMENT-683
Fixed CloudnameLock bug on locks starting with the same name.
Merge pull request #138 from acidmoose/master

CloudnameLock bug fix
Fix potential deadlock issues when exceptions arise in NIO libs

If the log handler (called when the code attempts to log anything)
that depends on Timber acquires a lock before continuing we might
get a deadlock with the NIO libraries; the locks are normally
acquired by log handler and then the NIO libs used by Timber but
if there are exceptions in the NIO libs we'll get a callback with
the lock in the NIO libraries already acquired. When we are logging
the exception we will get a deadlock if another logging operation
is running since we are acquiring locks in the oppsite order.
Merge pull request #139 from stalehd/master

Fix potential deadlock issues when exceptions arise in NIO libs
Merge pull request #137 from bsvingen/payment_683

PAYMENT-683 - Reducing number of open files in Archiver
Add support for custom bit layouts in the id generator.

Changed the internal layout to be a bit more configurable where it
is possible to make id generators that have variable length epochs,
worker ids and sequences.

Note: The default behaviour and ids generated by the id generator is
unchanged.
Merge pull request #135 from markusbk/zktool-args

Better argument validation for ZkTool.
Merge pull request #140 from stalehd/new_idgen

Add support for custom bit layouts in the id generator.