Support directory traversal to find package root

In response [to the following issue](https://github.com/hadley/devtools/issues/614#issuecomment-58573054), I suggest support for referencing packages using `load_all("some/package/R")` or `load_all("some/package/inst/tests")` (and `document`, `test`, etc.) by traversing up the directory structure for the DESCRIPTION file -- not having this can get annoying.

I have modified `check_dir` in `package.R` and added a `package_root` helper function that returns the absolute path of such a parent directory, or `NA_character_` otherwise. For example, `package_root('some/package/inst/tests')` is `'/absolute/path/to/some/package'`.

Can you please use `{}` here? (http://r-pkgs.had.co.nz/style.html)