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".
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.
Skip required options if version is parsed

If version was parsed the default behaviour is to print the version string,
but this is not done if there are required flags that have not been parsed.
This skips these required flags (so no IllegalArgumentException is thrown) if the version option is parsed.
Merge pull request #143 from torfredrik/flags_version_bug

Skip required options if version is parsed