Path generation

I noticed that URL generation has been added as an issue like 2 years ago and there's even an orphaned pull request for it.

The pull request seems to be made for an older version so I made a new pull request based on the latest master. Technically this is all about path generation so far, not URL generation, but I keep using them interchangeably even if I try not to.

When calling add I'm adding a reference to the parent resource and then we can recursively create urls by referring to the parent's recordPath.

The test cases show how the methods can be used.