Locationable caching

Again, this is one commit ahead of the docstring reupdate branch.