Tweaks to build under 3.x
More work to run under 3.x
Prototype a file iterator (partly culled from pywin32 implementation)
Merge remote-tracking branch 'benhoyt/master'

Conflicts:
	_scandir.c
	scandir.py
	tests/test_walk.py
Move towards an iterator yielding a structseq
Have the file iter return a structseq rather than a name
Switch to _iterfile for consistency
Working (although without tests): an iterator version returning a named tuple
Refactor & Tidy-up

Pick up a few PEP7/8 non-conformities
Move the findfirst/next logic entirely into the iternext logic: the iterfile function simply creates the iterator for the requested pattern and indicates that no iteration has yet occurred.
Slight refactor / rename
First attempt to merge iterator changes back into scandir
Refactor / Rename

* Put as much common code as possible in the iterator logic
* Rename scandir_helper as listdir (which is what it really is)
* Factor out common iterator startup code to avoid having to decode/recode unicode path name
All work in _iterfile has now been merged into _scandir
Refactor iterator to move static portions into code
Tweak code to run against python3 on linux
Make the iterator a little more general purpose by using a pointer to a handle
Refactor so the non-Windows part can partake in the iterator
Tiny rename for consistency
Implement dealloc for *nix
Start to rework *nix version towards iterator