lib: Add jars for Ice 3.5.0
build: Add Ice 3.5 in addition to 3.3 and 3.4
lib: Add omero-shares-3.5.0.jar
Use system versions of Ice slice files and headers for all Ice versions
Scripts.ice: Don't use reserved keyword optional

"optional" is now a keyword, so no longer usable as a name;
rename "optional" to "isoptional".
lib: Add additional Ice jars

Ice 3.5 splits out Ice.jar into a number of separate jars.
blitz.Router: Remove unused shutdown() method

This method is unused, and uses Glacier2.AdminPrx which has been
removed in Ice 3.5.  It is replaced by Ice.Admin.
blitz: Use java.util.UUID in place of Ice.Util.generateUUID

Ice.Util.generateUUID was removed with Ice 3.5, and java.util.UUID
is the recommended replacement.
lib: Add dummy jars to stop ivy complaining
TestServiceFactory: Don't include Glacier2.AMI_Session_destroy

Glacier2.AMI_Session_destroy was removed in Ice3.5, but was
unused in any case.
OmeroCpp: Use boost::uuids in place of IceUtil::generateUUIDs

Since generateUUIDs was removed in Ice3.5, an alternative
means of generating UUIDs is required.  Here we generate
UUIDs using boost::uuids::random_generator.
lib: Add omero-icemock-3.5.0.jar

Updated for 3.5.0 based upon the 3.4.2 version; this adds the
protocol and encoding version when calling the Reference constructor.
blitz: Don't add absolute path to tools

Also add better diagnostics, so it's obvious what's being
done.
OmeroCpp: Add UUID generation wrapper

Uses IceUtil::generateUUID for Ice <= 3.4, and
boost::uuids for later versions where Ice does not
provice generateUUID.
OmeroCpp: Use omero::generate_uuid()
OmeroCpp: Move generate_uuid to omero::util
Revert "Scripts.ice: Don't use reserved keyword optional"

This reverts commit 78f2735f9fa1640ad89ebf141e0076cda74960ad.
Scripts.ice: Escape reserved attribute name "optional"

Needed for Ice 3.5 compatibility, where optional is a
keyword.
OmeroCpp: Tests use util namespace correctly
OmeroJava: unjar all ice jars previously in ice.jar