Squashed commit of the following:

commit 8872d268c3f8b96361b037e3f78df11dd253d59a
Merge: 258a024 64b6589
Author: Seth Leger <seth@opennms.org>
Date:   Tue May 8 14:49:47 2012 -0400

    Merge branch '1.10' of ssh://opennms.git.sourceforge.net/gitroot/opennms/opennms into provisiond-netty

commit 258a024e63b8a8e34dce9ceb64300e38bfab7a70
Author: Seth Leger <seth@opennms.org>
Date:   Tue May 8 12:56:40 2012 -0400

    Added constant value that is used to indicate that no banner was
    received on the TCPDetector. Added log messages at every point that the
    detectors mark the service as detected or not. Enhanced SimpleServer so
    that it will keep connections alive for a timeout period so that we can
    test timeouts during banner receipt.

commit d9eac2f0dc3d80e51f68b98b1482ac020c212b5f
Author: Seth Leger <seth@opennms.org>
Date:   Mon May 7 21:35:45 2012 -0400

    Refactored AsyncLineOrientedDetector and AsyncMultilineDetector to
    indicate that they are MINA-specific implementations.

commit ba20c3ae84350e4babeaafdf4df54862bbc481f6
Author: Seth Leger <seth@opennms.org>
Date:   Mon May 7 21:31:21 2012 -0400

    Reenabled some tests inside LineDecoderTest that pass.

commit 0691b1b7b9a2c5d4c56558e6152f48d908ad7997
Author: Seth Leger <seth@opennms.org>
Date:   Mon May 7 20:37:41 2012 -0400

    Fixed Socket.close() calls inside SSLServer.java.

commit 49f0f81a16808fd619be25db3bf6da66c5108ae3
Author: Seth Leger <seth@opennms.org>
Date:   Mon May 7 20:01:31 2012 -0400

    Fixed missing Socket.close() call inside SimpleServer. This will prevent
    the class from leaking filehandles when under load by closing them
    immediately instead of waiting for the garbage collector to close them.

commit 618a9d8d3c2825b99f5b4511c183766c8c1d2615
Author: Seth Leger <seth@opennms.org>
Date:   Mon May 7 14:35:31 2012 -0400

    Added new SyncAbstractDetector base class.

commit 5eb5f7d59550c79223d8b23c8fb76f056b4ce346
Author: Seth Leger <seth@opennms.org>
Date:   Mon May 7 14:34:21 2012 -0400

    Refactored AbstractDetector so that it can share code between the sync
    and async detector abstract classes.

commit 7e4bec603a03a70306484ead326678b6805d5682
Author: Seth Leger <seth@opennms.org>
Date:   Mon May 7 14:08:02 2012 -0400

    Minor refactoring in ServiceDetector, AbstractDetector and
    AsyncAbstractDetector to make the interfaces more alike.

commit a1831687c759084cf775f58a71d938fbf6d1204d
Author: Seth Leger <seth@opennms.org>
Date:   Mon May 7 14:03:42 2012 -0400

    Minor code cleanup. Removed some improperly overridden methods.

commit eb83748be853cf2e459bee0262c9893a1755d689
Author: Seth Leger <seth@opennms.org>
Date:   Thu May 3 11:23:49 2012 -0400

    Minor code cleanup.

commit 61a3c54dd453f7c62a280f1e5635bf38a32986d7
Author: Seth Leger <seth@opennms.org>
Date:   Thu Apr 26 17:03:51 2012 -0400

    @Override cleanup and added toString() methods to some conversation
    objects so that it's easier to track client-server exchanges inside the
    detectors.

commit be35f4b023ff3e8773224d938566d102402dd0c0
Author: Seth Leger <seth@opennms.org>
Date:   Thu Apr 26 15:50:44 2012 -0400

    Refactored ConversationExchangeDefaultImpl so that it can be reused by
    the sync and async classes.

commit 343a8285f4d3711f146f3a9e3a314a18d2b80246
Author: Seth Leger <seth@opennms.org>
Date:   Thu Apr 26 15:49:30 2012 -0400

    Logging tweaks for provisioning network conversations.

commit ca9d44687298d301166c104aea7b0ee5152820f1
Author: Seth Leger <seth@opennms.org>
Date:   Thu Apr 26 15:17:28 2012 -0400

    Refactored more API classes (ConversationExchange, RequestBuilder) so
    that they are reused by the async and sync provisioning classes.

commit 3cf4bc2f0907b3eb1340b64cd4bc941175ad87bf
Author: Seth Leger <seth@opennms.org>
Date:   Thu Apr 26 14:33:05 2012 -0400

    Refactored ResponseValidator out as a top-level interface.