Add logarithmic algorithm for Fibonacci numbers

This commit adds an algorithm to compute Fibonacci numbers which runs in
logarithmic time. The key idea is to compute the nth Fibonacci number by
evaluating a formula which involves raising a 2 by 2 matrix to the n.
This can be computed in logarithmic time in n.
Add another algorithm for Fibonacci numbers

Using some math one can derive a formula to compute the nth Fibonacci
number. The formula uses only floating point operations and needs no matrices.
Compute Fibonacci numbers using a lookup table
Remove slow running test case

To reduce testing time slow running test cases are removed.
Simplify algorithm
Add commented out test cases which would fail
Fix lookup table and add tests
Add another implementation for Fibonacci numbers
Add asserts for invalid arguments
Refactoring

Move identityElement to own module.
Add tests
Add second algorithm for exponentiationBySquaring

This algorithm needs only constant memory.
Add metering wall clock time and cycles
Add benchmarking Fibonacci numbers
Fix typo
Refactor code to fix compiling for gdc