Fix permissions, add logging component, fix tests

Once upon a time there was a commit that was way too big.
- Fix file permissions (remove executable bit).
- Add logging component.
- Fix unit test build and add CTest support.
- Add micro bench performance tests.
- Add fft unit test.