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".
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.