Added CRC32 digest module.
Merge master to develop.

(grabbing .gitignore changes)
Added MD5 functionality.
Updated CRC32 to match naming conventions.

* Also updated a documentation bug indicating the CRC32 implementation was intended
  for Big Endian architectures. It's actually indended for Little Endian.
Added MD4 functionality.
Added quick and dirty ed2k test.
Updated MD5 implementation.

Like the MD4 implementation, the MD5 implementation is now based off of the publicly
available implementation at http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5.
Updated CRC32 implementation to match MD4/5.
Implemented SHA1 hashing algorithm.

* Adapted the freely available implementation from Water Juice
    http://waterjuice.org and
    https://github.com/WaterJuice/CryptLib)
* Changed compile options for the Makefile to output debug information.
* Added SHA1 test function.
Restructured the source directories.

* Moved all sources in a src/ folder.
* Moved Mac specific source files in src/mac/ folder.
* Overhauled the Makefile for Mac.
Updated README. Added semantic versoning info.
Merging the core hashing libraries from develop.

The initial core hashing modules of the hashing library have been implemented
using available open source (or public domain) references and have been
tested using the available program under /src/mac/test.c. At the time of the
merge, all hashing modules successfully hashed a 4.2G file and output the
expected results.

Hashing methods implemented
* CRC32
* MD4
* MD5
* SHA1

Additionally, a test of the ED2k method was also successfully tested in the
/src/mac/test.c file. An ED2k hash is a chunk-based MD4 hash of the
underlying file.