Reverse method on event readers.

Related to #87.
We can modify the existing (proposed) test to use xUnit.net's `Assert.IsAssignableFrom`:

```diff
diff --git a/AtomEventStore.UnitTests/FifoEventsTests.cs b/AtomEventStore.UnitTests/FifoEventsTests.cs
index 9b99a4b..72511bb 100644
--- a/AtomEventStore.UnitTests/FifoEventsTests.cs
+++ b/AtomEventStore.UnitTests/FifoEventsTests.cs
@@ -111,8 +111,8 @@ namespace Grean.AtomEventStore.UnitTests
                 .ToList()
                 .ForEach(e => writer.AppendAsync(e).Wait());
 
-            LifoEvents<XmlAttributedTestEventX> actual = sut.Reverse();
+            var actual = Assert.IsAssignableFrom<LifoEvents<XmlAttributedTestEventX>>(sut.Reverse());

             Assert.True(
                 expected.SequenceEqual(actual),
                 "Events should be yielded in a LIFO order");
```

If that's too much [Assertion Roulette](http://xunitpatterns.com/Assertion%20Roulette.html)-ish we can add a separate test.