Making it easy to activate the animal-sniffer Java5 check.

I originally attempted to define this in a profile that can be activated
from a child POM, but looking at MNG-3228
<http://jira.codehaus.org/browse/MNG-3228>, it appears that such use of
profiles aren't possible.

So I'm falling back to the <pluginManagement>, which can be activated
via the following fragment in build/plugins/plugin:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>animal-sniffer-maven-plugin</artifactId>
  <!-- details defined in the parent POM -->
</plugin>
Splitting off LDAP and PAM auth plugin.
LDAP is now a bundled plugin
PAM authentication is now a bundled plugin
Core need not bundle libpam4j

... now that the PAM auth is in a plugin. This is technically a
compatibility breaking change, but I'm pretty sure no one else depends
on this library.
One more file to be removed for LDAP
adding in those dependencies
Revert "Core need not bundle libpam4j"

This reverts commit d42740f6e6fbc4ae65ec3a75bc4773f60efe9eb6.
Turns out GNUCLibrary depends on it
fixed a persistence problem in Queue.

Queue.BlockedItem is not static, and so if items include this type, it ends up trying to persist the whole Queue instance, which will never work.
Sample stack trace below:

java.lang.RuntimeException: Failed to serialize hudson.model.Queue$BlockedItem#this$0 for class hudson.model.Queue$BlockedItem
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
	at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:55)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:98)
	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:38)
	at com.thoughtworks.xstream.XStream.marshal(XStream.java:840)
	at com.thoughtworks.xstream.XStream.marshal(XStream.java:829)
	at com.thoughtworks.xstream.XStream.toXML(XStream.java:804)
	at hudson.XmlFile.write(XmlFile.java:173)
	at hudson.model.Queue.save(Queue.java:349)
	at jenkins.model.Jenkins.cleanUp(Jenkins.java:2575)
	at org.jvnet.hudson.test.HudsonTestCase.tearDown(HudsonTestCase.java:381)
	at junit.framework.TestCase.runBare(TestCase.java:140)
	at org.jvnet.hudson.test.HudsonTestCase.runBare(HudsonTestCase.java:286)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:124)
	at junit.framework.TestSuite.runTest(TestSuite.java:243)
	at junit.framework.TestSuite.run(TestSuite.java:238)
	at com.sun.maven.junit.LocalTestCaseRunner.runTests(LocalTestCaseRunner.java:142)
	at com.sun.maven.junit.LocalTestCaseRunner.runTestCase(LocalTestCaseRunner.java:62)
	at com.sun.maven.junit.LocalTestCaseRunner.runTestCase(LocalTestCaseRunner.java:58)
	at sun.reflect.GeneratedMethodAccessor352.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:274)
	at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:255)
	at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215)
	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
	at hudson.remoting.Request$2.run(Request.java:270)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: Failed to serialize hudson.model.Queue#parked for class hudson.model.Queue
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 47 more
Caused by: java.lang.RuntimeException: Failed to serialize java.lang.Thread#group for class hudson.model.Executor
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
	at com.thoughtworks.xstream.converters.collections.MapConverter.marshal(MapConverter.java:57)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 55 more
Caused by: java.lang.RuntimeException: Failed to serialize java.lang.ThreadGroup#threads for class java.lang.ThreadGroup
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 68 more
Caused by: java.lang.RuntimeException: Failed to serialize java.lang.Thread#threadLocals for class hudson.remoting.Channel$ReaderThread
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
	at com.thoughtworks.xstream.converters.collections.ArrayConverter.marshal(ArrayConverter.java:45)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 76 more
Caused by: java.lang.RuntimeException: Failed to serialize java.lang.ThreadLocal$ThreadLocalMap#table for class java.lang.ThreadLocal$ThreadLocalMap
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 89 more
Caused by: java.lang.RuntimeException: Failed to serialize java.lang.ThreadLocal$ThreadLocalMap$Entry#value for class java.lang.ThreadLocal$ThreadLocalMap$Entry
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
	at com.thoughtworks.xstream.converters.collections.ArrayConverter.marshal(ArrayConverter.java:45)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 97 more
Caused by: java.lang.RuntimeException: Failed to serialize hudson.remoting.Channel#executor for class hudson.remoting.Channel
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 110 more
Caused by: java.lang.RuntimeException: Failed to serialize java.util.concurrent.ThreadPoolExecutor#workers for class java.util.concurrent.ThreadPoolExecutor
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 118 more
Caused by: java.lang.RuntimeException: Failed to serialize java.util.concurrent.ThreadPoolExecutor$Worker#thread for class java.util.concurrent.ThreadPoolExecutor$Worker
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
	at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:55)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 126 more
Caused by: java.lang.RuntimeException: Failed to serialize java.lang.Thread#threadLocals for class java.lang.Thread
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 139 more
Caused by: java.lang.RuntimeException: Failed to serialize java.lang.ThreadLocal$ThreadLocalMap#table for class java.lang.ThreadLocal$ThreadLocalMap
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 147 more
Caused by: java.lang.RuntimeException: Failed to serialize java.lang.ref.Reference#referent for class java.lang.ThreadLocal$ThreadLocalMap$Entry
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
	at com.thoughtworks.xstream.converters.collections.ArrayConverter.marshal(ArrayConverter.java:45)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 155 more
Caused by: java.lang.RuntimeException: Failed to serialize com.google.inject.internal.InjectorImpl$1#this$0 for class com.google.inject.internal.InjectorImpl$1
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 168 more
Caused by: java.lang.RuntimeException: Failed to serialize com.google.inject.internal.InjectorImpl#state for class com.google.inject.internal.InjectorImpl
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 176 more
Caused by: java.lang.RuntimeException: Failed to serialize com.google.inject.internal.InheritingState#explicitBindingsMutable for class com.google.inject.internal.InheritingState
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 184 more
Caused by: java.lang.RuntimeException: Failed to serialize com.google.inject.internal.BindingImpl#internalFactory for class com.google.inject.internal.ProviderInstanceBindingImpl
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
	at com.thoughtworks.xstream.converters.collections.MapConverter.marshal(MapConverter.java:58)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 192 more
Caused by: java.lang.RuntimeException: Failed to serialize com.google.inject.internal.InternalFactoryToProviderAdapter#provider for class com.google.inject.internal.InternalFactoryToProviderAdapter
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 205 more
Caused by: java.lang.RuntimeException: Failed to serialize hudson.ExtensionFinder$GuiceFinder$4$1#val$base for class hudson.ExtensionFinder$GuiceFinder$4$1
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 213 more
Caused by: java.lang.RuntimeException: Failed to serialize com.google.inject.Scopes$1$1#val$creator for class com.google.inject.Scopes$1$1
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 221 more
Caused by: java.lang.RuntimeException: Failed to serialize com.google.inject.internal.ProviderToInternalFactoryAdapter#internalFactory for class com.google.inject.internal.ProviderToInternalFactoryAdapter
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 229 more
Caused by: java.lang.RuntimeException: Failed to serialize com.google.inject.internal.InternalFactoryToInitializableAdapter#initializable for class com.google.inject.internal.InternalFactoryToInitializableAdapter
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 237 more
Caused by: java.lang.RuntimeException: Failed to serialize com.google.inject.internal.Initializables$1#val$instance for class com.google.inject.internal.Initializables$1
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 245 more
Caused by: java.lang.RuntimeException: Failed to serialize hudson.ExtensionFinder$GuiceFinder$SezpozModule$1#this$1 for class hudson.ExtensionFinder$GuiceFinder$SezpozModule$1
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 253 more
Caused by: java.lang.RuntimeException: Failed to serialize hudson.ExtensionFinder$GuiceFinder$SezpozModule#index for class hudson.ExtensionFinder$GuiceFinder$SezpozModule
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 261 more
Caused by: java.lang.RuntimeException: Failed to serialize net.java.sezpoz.IndexItem#instance for class net.java.sezpoz.IndexItem
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
	at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:55)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 269 more
Caused by: java.lang.RuntimeException: Failed to serialize hudson.node_monitors.AbstractNodeMonitorDescriptor#record for class hudson.node_monitors.ClockMonitor$1
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 282 more
Caused by: java.lang.RuntimeException: Failed to serialize hudson.node_monitors.AbstractNodeMonitorDescriptor$Record#data for class hudson.node_monitors.AbstractNodeMonitorDescriptor$Record
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 290 more
Caused by: java.lang.RuntimeException: Failed to serialize hudson.slaves.SlaveComputer#taskListener for class hudson.slaves.SlaveComputer
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
	at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
	at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
	at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
	at com.thoughtworks.xstream.converters.collections.MapConverter.marshal(MapConverter.java:57)
	at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
	at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
	at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:176)
	at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
	... 298 more
doc improvement
Fixed a hang test in ci.jenkins-ci.org

It appears that this manually registered extension lives longer than the
single test and causing later tests to block forever.

Normally HudsonTestCase.tearDown() is supposed to clear it, but the
exception in the tearDown() prevented that code from getting executed.
follow-up to 642a57c7ab782898a84d6c2cfa02ae2be2703105

There's no guarantee that the tearDown method completes, so make sure we have clean environment by doing this in the setUp.
Merge branch 'rc'
Doc fix
Jenkins!
run all tests with some time out to avoid infinite hang
Support JSON pretty printing
call layout updater when we touch DOM
Improved the image generation script.

In particular, so that flashing animation gif uses transparent
background where possible.
Integrated the new animation GIF images that have more transparent background.

Going beyond this requires CSS animation.