MD5 checksum, inbuilt BSR func for log2, etc

Changelog:

1. Execute changelog item 2 from previous commit
(c69e127e01c29546a7b04248c39f59910fc572f8) when debugging only,
2. Removed dependency on math.h by writing own bit scan reverse function
to calculate log2
3. Wrote md5 function to compute hash for verification purposes
4. Reduced OpenMP threads to 8 for stability
5. Made all functions except main() inline
6. Fixed code indentation
7. Updated readme