Minor refactoring and bug fixes

Full title: Minor refactoring and bug fixes: windows end lines, findFileResults cache, export.done

Reason for every line change (the new line numbers are used):
(79) home is undefined (forward referenced) at this point so to improve clarity and maintain functionality I returned undefined.
(85) moved home down in the event it isn't needed
(167) path.join includes path.normalize
(177) moved parent down in the event it isn't needed
(183-184) fixed this oversight in caching, previously if not found it would only cache "C:\file", instead of every step, which wouldn't save much time.
(191-193) added js doc for 2 parameters
(203) the exclude file may now use any type of end lines
(221-278) renamed variables to be more meaningful
(278, 295, 360, 378) fixed bug in pattern: windows uses \r\n also compacted regex
(552-560) added the ability to clear the cache. the tests need to use this now that the cache was corrected
(575-579) force the result of loadIgnores to be mapped, previously only opts.ignores was mapped
(724) passed == null is the same as !passed (any falsy value) thus making the ternary that follows redundant. I don't know the possible values of passed

Concerns:
On line 79 I assume you meant to return null instead of undefined but I'm not sure so I kept the same functionality.
I didn't write a unit test for the end lines and I don't know how well supported the different end lines are.

That is not the ONLY reason for increment( ignoring for loop counters because those are noted as exceptions).
At least in IBM assembly language, there is a difference in the number of instructions:
increment is: inc EBX
but to add 1 requires:
push EAX
mov EAX, 1h
add EAX, EBX   ;//the result of math is always stored in EAX
mov EBX, EAX
pop EAX
A third reason is that increment is 1 less byte when minified.
But none of these are the reason I did it. I did it for readability. Now I know there isn't a variable named l (lowercase L) but I believe that ++ is easier to read than += 1. But this is not an important change, you have the authority to disagree.