Set a code name for development branches

Annotated tags only exist on the master branch. In this case, the
codename is the annotation's first line.

When working on a non-master branch, the code name is the branch's
description first line.
Pass to Android the CFLAGS to define the VERSION
Spelling
Emerald: Speaker uses Speech Service

This change fixes a problem that was there since the very beginning
of the Android version: interpreting a Rexx was taking 3secs at the start.

Thanks to the Profiler for having detected a doing-nothing in the middle
of nowhere, and thanks to the Debugger for having found that 'nowhere'
was for closing the "Speaker".

First fix consisted to flush the Rexx buffer before to close the Speaker.
But that wasn't enough.  Mimicing what I had done for (Crossper) communication
service, I rewrote the Speaker as a client of a Speech Service.

Now, YAXX is really responsive, as it was used to be.

Also, this change announces the 'Emerald Peak' revision. It was initially
started to ease Yaxx at dealing with the Android system -- shelling a REXX
script from REXX.  This isn't yet done, but will soon.
No need to wait an extra 500ms
NLS support for the Speaker scheme (opaque URI)

The speaker scheme now accept "lang" on its opaque path. Ex:
call charout "speaker:lang=fr_FR", "Bonjour"
Added versioning doc
Pass args whan calling Rexx from Rexx
Fix lint hiccups
buildArgs must be on the Java side
Branch b1: step I

The REXX activity gets single-top
Branch b1: step II

Clean up the mess. Make rexxlib / toolslib independent of Android.
Init and finalize Rexx context, n times interpreting in the meanwhile.

Following the "activity-single-top" change, `init' and `finalize' were required
to be able to shell Rexx from an already alive Rexx, while keeping
same SystemContext: JConsole, Speaker, files, etc.

Each "interpret" runs on its own thread, and I realized that the JNIEnv pointer
was being modified while switching threads, as well as the JVM reorganizing the
addresses of the objects (after a Garbage Collection.)

For the former, I created a global field g_jniEnv, set at each `interpret' call,
reset at the end.  I'm not relying anymore in a same env pointer being part of
any instances that need it: they will use the volatile g_jniEnv field.

For the latter, I had to pin down the instances (Speaker, JConsole) to make
the JVM consider them as "unmoveable" addresses, that is using NewGlobalRef
the address of which is deemed to stay constant among threads.
Ensure all is cleaned-up when returning from Rexx activity
Shut your big mouth, AM!
Looper quit must be b4 stopping TTS
Cleaned-up.  Almost done on branch b1
Not too sure on how useful those changes are...

I'm still chasing the erratic SIGSEGV sometimes occurring when pressing
the back button. I was thinking the Speech class was the culprit; I revamped
the Speech termination, and, IMHO these changes are rather better, or
at least harmless. But this is not it.

It looks like ScriptsList that starts Rexx may be destroyed
before Rexx is destroyed. This dangling order might be at the
origin of the problem, and I will try to fix it in next commit.
Fix for a couple of real bugs:
- the Speaker nullified erroneoulsy the ServiceConnection before it was ended
- Rexx was throwing an exception, badly killing the activity

Also, I cleaned the Exploder.
Defense against a null speaker