Added NULL safety checks

These were reported as potential flaws by VeraCode scan.
aFunction should be copied to function, not file, if DDLogMessageCopyFunction is specified

Fix from https://github.com/NSDex/CocoaLumberjack/commit/4ed4509f6740589c60f27acf809a738057fcae29
Fix implicit cast warnings
(Implicit conversion turns floating-point number into integer: 'double' to 'uint64_t' (aka 'unsigned long long'))

From https://github.com/diederich/CocoaLumberjack/commit/45dcc598279a2cb02e8c7ec810eb11b822e7a7eb
Fix warning
"Commas at the end of enumerator lists are a C++11 extension"

From https://github.com/diederich/CocoaLumberjack/commit/588370c8833cb10ba74aca3f424cc8b4021e8a98
Use the OS_OBJECT_USE_OBJC macro

From https://github.com/mattjgalloway/CocoaLumberjack/commit/e71f05c4f623cf994e8b975fb318c0ee975a24c1