Create a TunnelMonoid
Create IncrementingTunnelMonoid, update comments
Combine TunnelMonoid and IncrementingTunnelMonoid work
Refactor common tests
Override isNonZero, minor comment tweak
Add license header
Rename IncrementingTunnelMonoid to PromiseLinkMonoid, fix minor issues
Merge pull request #213 from jcoveney/jco/tunnel_monoid

Create TunnelMonoid and IncrementingTunnelMonoid to allow hooking into async monoid computation