fix for: https://issues.apache.org/jira/browse/AMQNET-346

Adds Recover Method to NMS.  ActiveMQ and Stomp provider implementations added with tests.
diff --git a/src/main/csharp/ISession.cs b/src/main/csharp/ISession.cs
index 123be91..9aae0a3 100644
--- a/src/main/csharp/ISession.cs
+++ b/src/main/csharp/ISession.cs
@@ -179,6 +179,17 @@
 		/// </summary>
 		ProducerTransformerDelegate ProducerTransformer { get; set; }
 
+        /// <summary>
+        /// Stops all Message delivery in this session and restarts it again
+        /// with the oldest unabcknowledged message.  Messages that were delivered
+        /// but not acknowledge should have their redelivered property set.
+        /// This is an optional method that may not by implemented by all NMS
+        /// providers, if not implemented an Exception will be thrown.
+        /// Message redelivery is not requried to be performed in the original
+        /// order.  It is not valid to call this method on a Transacted Session.
+        /// </summary>
+        void Recover();
+
 		#region Transaction methods
 
 		/// <summary>