Fixes for issues raised by LLVM strict warnings.

In our projects we have strict compiler warnings enabled (warnings that are off by default but typically recommended by the Apple LLVM team). This commit updates the source to comply with these strict warnings.

Cheers,
Chris