Additional performance related to #2711

Mathematical operations extracted to own class. I used the quick modulo in the encoder part as well. Now the [UUID benchmark](https://github.com/hazelcast/hazelcast/pull/2711#issuecomment-45983255) looks like this:

Before (on 2d9c8bd63d61b3b0efe4450774cbe37f023be2bf)
Benchmark                                             Mode   Samples         Mean   Mean error    Units
c.h.n.UTFEncoderDecoderBenchmark.testUuidUtilTest    thrpt        40  1350822.556    22437.135    ops/s

After (this PR)
Benchmark                                             Mode   Samples         Mean   Mean error    Units
c.h.n.UTFEncoderDecoderBenchmark.testUuidUtilTest    thrpt        40  1694053.879    20132.232    ops/s
the result is defined for positive integers only as stated in method's
contract.
On 15 Jun 2014 16:34, "Peter Veentjer" <notifications@github.com> wrote:

> In hazelcast/src/test/java/com/hazelcast/util/QuickMathTest.java:
>
> > +import java.math.BigInteger;
> > +
> > +import static org.junit.Assert.*;
> > +
> > +
> > +/**
> > + * Unit tests for {@link QuickMath} class.
> > + *
> > + */
> > +@RunWith(HazelcastParallelClassRunner.class)
> > +@Category(QuickTest.class)
> > +public class QuickMathTest {
> > +
> > +    @Test
> > +    public void testIsPowerOfTwo() {
> > +        assertTrue(QuickMath.isPowerOfTwo(1));
>
> What about 0? :)
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/hazelcast/hazelcast/pull/2718/files#r13786632>.
>