Cleaner fix for GPRESOURCES-175 and -186

This branch should merge directly onto f21346 and provides changes to allow test-app to work directly when the repository is cloned, addresses JIRA GPRESOURCES-186, and provides an integration test to show the GPRESOURCES-175 is also fixed.

It adds tests of the error with providing an absolute link and provides the fix so that this now works properly. It also adds some additional JavaDoc comments and renames a method.

This pull request replaces prior pull requests #24, #26, #27, and #28, which will no longer be needed. It addresses half of pull request #21 as well, which has also been withdrawn with its other half addressed in #29. 

Pull requests #29 and #30 are likely best applied after this one.

Hopefully this is a simpler version which won't be so annoying.