* Integrate @nlowe's documentation and tests * Use filepath.Clean() instead of filepath.Abs() * Use a stackless implementation