Add profile to enable debugging
Give more info when ij.jar is missing
Make Apple-JVM-specific function name clearer

The set_path_to_apple_JVM function (formerly set_path_to_JVM)
specifically looks for Apple JVMs in OS X's JavaVM framework folder
(typically in /System/Library/Java/JavaVM.Framework/Versions).

If such a JVM is found, it sets the OS-X-specific JAVA_JVM_VERSION
environment variable to match it; and if not, the function errors out.
Issue a warning if CFStringGetCString call fails
Make set_path_to_apple_JVM use return codes

That way, we'll be able to tell whether it successfully
found an Apple JVM and set the JAVA_JVM_VERSION property.
Add comment reminding that JVM is an Apple one
Use create_java_vm code on OS X for non-Apple JVMs

Previously, the create_java_vm method excluded the bulk of the logic on
OS X, period, assuming that if we are running on OS X then we will find
and use an Apple JVM only.

However, on newer versions of OS X
(particularly on OS X 10.9 Mavericks), all the Apple JVMs are removed by
default, and the JavaVM framework is no longer in place to support them.
That is, in /System/Library/Frameworks/JavaVM.Framework/Versions there
is no longer a '1.6' or '1.5' folder, and instead only 'A' with a
'Current' symlink to 'A'. So all the logic in set_path_to_apple_JVM
fails and the function fails with a "Could not access Java VM" error.

Since we now return an error code for this situation, we can test for
it, and then continue to the non-Apple-specific logic in that case,
rather than always falling back to system Java.
Respect JAVA_HOME on OS X

If the call to set_path_to_apple_JVM succeeds (i.e., returns 0), that
means we found an Apple JVM. But when JAVA_HOME is set, we do not *want*
that Apple Framework JVM to be used, but rather would prefer to use the
JVM indicated by JAVA_HOME.

So let's make set_path_to_apple_JVM return a failure code if JAVA_HOME
is set, so that we can proceed with the non-Apple-specific JVM logic.