Make 'yuidoc.json' search breadth first

Aimed at fixing #99.

Mostly, I tweaked `getProjectData` in `utils.js` to perform a beadth-first search instead of depth-search.

This means the algorithm will tend to find the (intuitively) nearest `yuidoc.json`, instead of preferring one deep in the folder tree.

This also had virtuous side effects of removing recursion from the algorithm and removing the need for module variables (making it possible to run multiple times in tests, for one thing).

Also modified the code supporting using config data from `package.json` so that it would honor that file if it's a peer to `yuidoc.json` (the former algorithm would only see `package.json` if it was _before_ `yuidoc.json` in the folder tree).

Lastly are a few tweaks to existing tests to normalize slashes so they pass on windows.