out-of-source building

Now building out-of-source, to avoid pollution of source directory, promote support for multiple build targets, easier cleaning, and such.
I've added a .gitattributes file to ensure consistency regarding line endings, for source files.
I've extended the .gitignore to exclude the out-of-source build folder, vim tmp files, and the NUL error redirection file.
Github seems to be doing funny business on some of the moved files. I've been unable to fix this, and my local diff is blank, the file program reports same line endings, ect.