JCBC-620: Make Diagnostics resilient for not found classes

    Motivation
    ----------
    The code uses com/sun namespaced packages - which we shouldn't be using -
    but are able to optionally utilize them to get more diagnostics information.

    The code previously did check if the classes are proper instances, but it was
    not resilient for environments where the class doesn't exist at all (that is
    on IBM JVMs, as well as OSGi containers and app servers like Wildfly). It prevents
    starting an application.

    Modifications
    -------------
    The code now properly catches such an exception and logs a debug notice that extended
    info is not available and only reduced output is printed.

    Result
    ------
    Properly degrading output and making sure app servers with reduced context are able
    to start.

Change-Id: I7c3b2b22bd42dbc28ff46d5db6a3ca413aa6f744
Reviewed-on: http://review.couchbase.org/42711
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Reviewed-by: Simon Baslé <simon@couchbase.com>