Mac OSX support

Hi,

I've compiled and tested your code on OSX.

The dd command is a bit different thus needed a bit of option tweaking and the avoidance of the pipe.

This makes it all a bit slow due to the bs=1, but that way it works like a charm (long-term and if this was a very often used etc tool it would simply be better to just do a read() or even directly write the blocks being read out to another file..)

I've also added a lot of CFLAGS and fixed the warnings coming forward from that.