In my testing `~` always expands to an absolute path, at least when using `File::expand_path`.

Based on my no doubt incomplete understanding of Unix paths, I believe paths beginning with `~` should be treated as absolute. (One of Apple's [Cocoa docs](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/ManipulatingPaths.html) says to explicitly.)

I guess what I'm saying is that if I expand the declared path in `PathSource::fetch` it will always be absolute. I don't know how to determine that the declared path wasn't relative without explicitly checking for a `~`.

Suggestions?