The site.path and provided prefix should be concatenated together

It's not clear to me if the current behavior (setting a prefix will override the site.path entirely) is a feature or a bug, but it caught me off-guard. I've tried to update the logic to preserve both and tried to simplify the existing `#prefix`/`#prefix_source` logic.

(Includes a commit from #130)