ASACORE-775 About rework: Add Version class to Java Bindings

Added a Version class to the Java language bindings.  With
out the Version class there is no reliable way to fill in
the AJSoftwareVersion flag for the AboutData.

Change-Id: I24db8685da4cda18ed67c625a153dc638bf58fae
Signed-off-by: George Nash <georgen@qce.qualcomm.com>
ASACORE-1032 Java implementation of the About Icon interface

This implementation was done completely in Java no JNI. Typically
JNI is used because we then get all of the C++ error checking.
The error checking comes at the cost of writing an maintaining JNI
code that can be complex an difficult to understand. In most
instances the cost of generating JNI is worth what is gained in
lower maintaince cost by only have one implementation of error
checking code. However, the About Icon interface has almost no
error checking code. For this reason JNI was not used and a
complete Java implementation was used instead.

Since I wanted to use the Class name AboutIcon for the class that
held the About Icon content. The About Icon interface was  renamed
from AboutIcon.java to Icon.java. This was technically not required
since they existed in different packages.  The name change improved
the readability of the code since the Icon interface could be used
without prefixing it with the package name.

commit includes unit test that validate basic functionality
of the AboutIcon, AboutIconObj, and AboutIconProxy.

Change-Id: I0e95c75617134c7954badf42ec565209c4ec3408
Signed-off-by: George Nash <georgen@qce.qualcomm.com>
Merge changes I0e95c756,I24db8685 into feature/about_rework

* changes:
  ASACORE-1032 Java implementation of the About Icon interface
  ASACORE-775 About rework: Add Version class to Java Bindings