Add first version of Fibonacci

This is my first implementation, very simple but inefficient.
Add second implementation

This implementation is much faster.
Add Makefile to ease building and testing
Fix return code

The return code should be 0 otherwise it indicates a failure of the
executable which makes make complain.
Remove unneeded import
Change signature from int to uint

Since we start counting Fibonacci numbers from 0 there is no need to
allow negative values for n.
Rewrite unittests
Add implementation using constant memory
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
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