cleanup/refactor

- Use File::Spec instead of assuming '/' (somewhat futile).
- Pull out _caller_use since it's used in two places.
- Simplify crawling logic.
stop crawling at device boundary by default

- No longer crawl past device boundaries by default.
- Set shell variable, ABOVE_DISCOVERY_ACROSS_FILESYSTEM, to opt-in to
  crawling across device boundaries.  This is modeled after Git's
  behavior and similarly named shell variable.
- Set version to 0.03 due to this change in behavior.