move GF-math from static into instance methods

We will need this to test some algorithms within GF(257).

A problem is that Java does not support static method within interfaces.
This prevents us from creating a clean abstraction for the fields that
we need for our mathematics stuff. The (architectural) solution is to
move this math functionality from static class methods into instance
methods.

This leads to a performance hit of ~30%. Which is a lot. But then this
library is mostly thought to be used for research purposes where
relative performance can be seen as to be of more performance than
absolute performance. We already think about creating a "new" library
that only offeres the most viable algorithms which then will also be
optimized. It's easier to optimize well-written code than doing stuff
in the other direction.
try to make GF-handling more consistent

* also add performance test
* make it more obvious when a new GF object was created
* add a new BouncyCastle GF Helper class
abstract math implementation and split bc from handmade gf(2^8)

This makes everything a bit slower but should make the code base easier
to read and extend.

This also found out some errors and hardcoded constants.
start with gf(257) implementatio
import generic Polynom-Division from bouncy castle

* needed for generic implementation (that will work with gf(257)
* allows us to minimize type conversions (a lot)

Still needs cleanup, but is a big step into the right direction. The
only missing "direct" bouncycastle/flexiprovider math lib user is
PolyHash. Maybe we can create this in a cleaner manner too.
move PolyHash to normal int operations

* now it's clear that it fails -- but at least it should be way
  easier to understand
Merge pull request #20 from andreashappe/gf_257

Polyhash + modular math support
refactoring / style fixes

* make all code comply to checkstyle
* move all math-related code into the math package