JA-4708 Bunch of small improvements.

- Fail if given insane arguments
- Organized some of the code into PermitIdGenerator
- Moved row key marshaller and void type marshaller to the common package
JA-4708 Added an initializer and permit renewal.
JA-4708 Added PermitBackedWriterIdProvider.