Add support for Ice 3.5

This may need further refinement, but opening a PR for review/comments.

**Testing note**: https://github.com/mxcl/homebrew/pull/18908 will give you ice3.5 for homebrew (sans java).  The zeroc ice 3.5 packages for macos will only work with macos 10.8.  Set ICE_HOME=/usr/local/Cellar/ice/3.5.0 .  The needed jars are all added to lib/repository.

Minor API/ABI break: The slice language has reserved "optional" as a keyword.  We use this as an attribute name in a single class.  I've renamed this to "isoptional" to work around this.  Whether we want to change this on dev_4_4 and develop for forward compatibility may need discussion.  We'll need to bite the bullet at some point, so the question is really when this would be best to do.

Minor fixups (mainly dead code removal) and changes to cope with API removals in Ice 3.5.  The code should continue to build with all Ice versions.  The C++ code introduces a *header-only* dependency upon boost::uuids since the Ice implementation has been removed; the java code uses the core java.util.UUID class.