Changed so a put always returns a revision
Introduced an STM to handle the current revision
Added test for concurrent updates
Fixed test value