merge KrawcywkShare & Share, refactor share unit tests

I've changed the share's metadata format from map<byte, integer> to
map<byte, byte[]>. This allows us to store a krawzywk share's key as
normal metadata instead and removes the need for a special subclass
for krawzywk shares.

In addition refactor some share validation+serialization unit tests.
Now we have a shared base unit test (which includes common test) and
share-specific tests that sub-class this abstract base unit test.
Merge NTT tests into secret-sharing performance tests

* remove special ntt performance tests
* add toString for nttrabin/shamir
* disable ntt reconstruct for now
Add some performance optimizations

Reduce memory allocations and introduce some "abcUnsafe"-methods that do
not perform full input data checking. This improves reconstruct
performance by 100% on my computer.

This adds two micro-benchmarks to test the performance of some of Java's
features.
Improve test output and ``refactoring''

* RabinBenOrEngine now always uses salsa20 and poly1305
* remove unneeded exhausion ntt test
* remove some author tags, add some documentation (still lots is
  missing)
* improve test output formatting
* also introduce "unsafe" BerlekampWelchDecoder.decode to fix some unit
  tests