FB 33239 add mutable document revision

See https://gist.github.com/mikerhodes/c022e9e44d83c2e4747e for mini spec (objective-c version)
Some of these options could do with documentation, even if it's internal. There is becoming a lot of knowledge external to the code.