If relative path provided, generate relative

I was following along with this pull request: https://github.com/RiotGames/berkshelf/pull/310

I was thinking about the '~' issue and what could be done to get expected behavior from what is really a relative path. So instead of just returning the relative path that is provided, what about expanding the relative path, and then generating a new relative path to the expanded path based on the location of the Berksfile? This would ensure that relative paths provided are always usable.