GF(256) Math Optimizations

Optimized the performance of the GF(256) arithmetics:
* rewrote the *GF256* operations to use pre-generated lookup-tables for the expensive *mult()*, *div()*, *exp()* and *inverse()* operations
* introduced a custom *GF256Polynomial* which implements a fast *evaluateAt()* by using the new lookup-tables

In addition the following changes have been made:
* added documentation
* added unit-tests for *GF256*
* introduced a little helper-class for converting bytes to unsigned byte ints (*ByteUtils*)
* *(had to change few lines to makes the SecretSharing-classes compatible with the changes)*

The overall performance improvement is about ~ 5x (depending on the used SecretSharing-scheme). Details can be seen in the added *performance.txt*-file.