Extract #calculate_path to Configurable & add spec coverage.

There is a method signature change with has the potential to break an
provisioner implementations in the wild, but currently this API is not
considered stable.