Allow the separation of public and private Objective-C files

The new options --objc-private-out and --objc-include-private-prefix control where the private Objective-C[++] files (i.e. +Private.h and .mm) are placed and which prefix is used to #import or #include them. This allows a clean separation of the public interface and the hidden private parts.

As a bonus this fixes the bug where the Objective-C generator was completely ignoring the --objc-include-prefix and --objc-include-cpp-prefix options.
Changed default Objective-C++ namespace from dropboxsync to djinni_generated

Now it matches the JNI setting. This was probably not supposed to be there...